From b9a43fc3af8063b4519df3e3eab049bee1cdeb5b Mon Sep 17 00:00:00 2001 From: tadelesh Date: Mon, 7 Jul 2025 18:51:04 +0800 Subject: [PATCH 01/40] init conversion version --- .../BackupEngineBaseResource.tsp | 78 + .../BackupResourceConfigResource.tsp | 175 + ...sourceEncryptionConfigExtendedResource.tsp | 69 + .../BackupResourceVaultConfigResource.tsp | 79 + .../JobResource.tsp | 151 + .../PrivateEndpointConnectionResource.tsp | 107 + .../ProtectedItemResource.tsp | 214 + .../ProtectionContainerResource.tsp | 159 + .../ProtectionIntentResource.tsp | 68 + .../ProtectionPolicyResource.tsp | 169 + .../RecoveryPointResource.tsp | 129 + .../ResourceGuardProxyBaseResource.tsp | 84 + .../VirtualResource.tsp | 19 + .../back-compatible.tsp | 63 + .../AzureIaasVm/BackupFeature_Validate.json | 21 + .../AzureIaasVm/BackupPolicies_List.json | 78 + .../BackupProtectableItems_List.json | 32 + .../BackupProtectedItems_List.json | 42 + .../ClassicCompute_ProtectedItem_Get.json | 41 + .../Compute_ProtectedItem_Get.json | 41 + .../AzureIaasVm/ConfigureProtection.json | 53 + .../AzureIaasVm/GetBackupStatus.json | 27 + .../ProtectedItemOperationResults.json | 48 + .../ProtectedItemOperationStatus.json | 30 + .../ProtectionIntent_CreateOrUpdate.json | 34 + .../ProtectionIntent_Validate.json | 27 + ...ectionPolicies_CreateOrUpdate_Complex.json | 183 + ...tectionPolicies_CreateOrUpdate_Simple.json | 77 + .../ProtectionPolicies_Delete.json | 15 + .../AzureIaasVm/ProtectionPolicies_Get.json | 45 + .../ProtectionPolicyOperationResults_Get.json | 46 + ...ProtectionPolicyOperationStatuses_Get.json | 30 + .../2025-02-01/AzureIaasVm/Provision_Ilr.json | 32 + ...RecoveryPointsRecommendedForMove_List.json | 103 + .../AzureIaasVm/RecoveryPoints_Get.json | 50 + .../AzureIaasVm/RecoveryPoints_List.json | 138 + .../2025-02-01/AzureIaasVm/Revoke_Ilr.json | 23 + .../AzureIaasVm/StopProtection.json | 53 + ...iggerRestore_ALR_IaasVMRestoreRequest.json | 45 + ...reRequest_IdentityBasedRestoreDetails.json | 47 + ...R_IaasVMRestoreWithRehydrationRequest.json | 46 + .../TriggerRestore_ResourceGuardEnabled.json | 47 + ...ore_RestoreDisks_IaasVMRestoreRequest.json | 46 + ...reRequest_IdentityBasedRestoreDetails.json | 44 + ...s_IaasVMRestoreWithRehydrationRequest.json | 42 + .../TriggerValidateOperation_RestoreDisk.json | 46 + .../AzureIaasVm/V2Policy/IaaS_v2_daily.json | 193 + .../AzureIaasVm/V2Policy/IaaS_v2_hourly.json | 193 + .../AzureIaasVm/V2Policy/v2-Get-Policy.json | 50 + .../V2Policy/v2-List-Policies.json | 109 + .../AzureIaasVm/ValidateOperationResults.json | 35 + .../AzureIaasVm/ValidateOperationStatus.json | 37 + .../ValidateOperation_RestoreDisk.json | 55 + ...storeDisk_IdentityBasedRestoreDetails.json | 57 + .../ProtectableContainers_List.json | 44 + .../ProtectionContainers_Inquire.json | 21 + .../ProtectionContainers_Inquire_Result.json | 67 + .../ProtectionContainers_List.json | 34 + .../ProtectionContainers_Register.json | 46 + ...otectionPolicies_CreateOrUpdate_Daily.json | 182 + ...ctionPolicies_CreateOrUpdate_Hardened.json | 189 + ...tectionPolicies_CreateOrUpdate_Hourly.json | 178 + .../SoftDeletedContainers_List.json | 34 + .../AzureWorkload/BackupPolicies_List.json | 72 + .../BackupProtectionIntent_Delete.json | 16 + .../BackupProtectionIntent_Get.json | 28 + .../BackupProtectionIntent_List.json | 30 + .../BackupWorkloadItems_List.json | 49 + .../ProtectionContainers_Get.json | 59 + .../ProtectionContainers_Unregister.json | 23 + ...ectionPolicies_CreateOrUpdate_Complex.json | 262 + .../BackupDataMoveOperationStatus_Get.json | 22 + .../PrepareDataMoveOperationResult_Get.json | 25 + .../BackupDataMove/PrepareDataMove_Post.json | 25 + .../BackupDataMove/TriggerDataMove_Post.json | 25 + .../BackupResourceEncryptionConfig_Get.json | 29 + .../BackupResourceEncryptionConfig_Put.json | 21 + .../BackupProtectedItem_UsageSummary_Get.json | 64 + ...ProtectionContainers_UsageSummary_Get.json | 46 + .../BackupResourceVaultConfigs_Get.json | 22 + .../BackupResourceVaultConfigs_Patch.json | 27 + .../BackupResourceVaultConfigs_Put.json | 29 + .../Common/BackupSecurityPin_Get.json | 19 + .../Common/BackupStorageConfig_Get.json | 25 + .../Common/BackupStorageConfig_Patch.json | 19 + .../Common/BackupStorageConfig_Put.json | 31 + .../Common/CancelJobOperationResult.json | 22 + .../Common/ExportJobsOperationResult.json | 43 + .../2025-02-01/Common/GetJobDetails.json | 48 + .../examples/2025-02-01/Common/ListJobs.json | 51 + .../ListJobsWithAllSupportedFilters.json | 35 + ...istJobsWithStartTimeAndEndTimeFilters.json | 53 + .../Common/ProtectedItem_Delete.json | 24 + .../ProtectedItem_Delete_OperationResult.json | 22 + .../ProtectedItem_Delete_OperationStatus.json | 23 + .../2025-02-01/Common/RefreshContainers.json | 19 + .../RefreshContainers_OperationResults.json | 21 + .../2025-02-01/Common/TriggerBackup_Post.json | 27 + .../2025-02-01/Common/TriggerCancelJob.json | 19 + .../2025-02-01/Common/TriggerExportJobs.json | 18 + .../2025-02-01/Dpm/BackupEngines_Get.json | 37 + .../2025-02-01/Dpm/BackupEngines_List.json | 62 + .../examples/2025-02-01/ListOperations.json | 465 + .../DeletePrivateEndpointConnection.json | 21 + .../GetPrivateEndpointConnection.json | 33 + ...vateEndpointConnectionOperationStatus.json | 23 + .../PutPrivateEndpointConnection.json | 72 + .../DeleteResourceGuardProxy.json | 15 + .../GetResourceGuardProxy.json | 35 + .../ListResourceGuardProxy.json | 38 + .../PutResourceGuardProxy.json | 40 + .../UnlockDeleteResourceGuardProxy.json | 24 + .../FetchTieringCostForPolicy.json | 34 + .../FetchTieringCostForProtectedItem.json | 35 + .../FetchTieringCostForRehydrate.json | 35 + .../TieringCost/FetchTieringCostForVault.json | 33 + .../GetTieringCostOperationResult.json | 22 + .../GetTieringCostOperationStatus.json | 23 + .../TriggerRecoveryPointMove_Post.json | 28 + .../RecoveryServices.Management/main.tsp | 59 + .../RecoveryServices.Management/models.tsp | 8300 +++++++ .../RecoveryServices.Management/routes.tsp | 761 + .../tspconfig.yaml | 13 + .../stable/2025-02-01/bms.json | 20622 +++++++++------- .../AzureIaasVm/BackupFeature_Validate.json | 12 +- .../AzureIaasVm/BackupPolicies_List.json | 74 +- .../BackupProtectableItems_List.json | 22 +- .../BackupProtectedItems_List.json | 34 +- .../ClassicCompute_ProtectedItem_Get.json | 40 +- .../Compute_ProtectedItem_Get.json | 40 +- .../AzureIaasVm/ConfigureProtection.json | 56 +- .../examples/AzureIaasVm/GetBackupStatus.json | 24 +- .../ProtectedItemOperationResults.json | 50 +- .../ProtectedItemOperationStatus.json | 34 +- .../ProtectionIntent_CreateOrUpdate.json | 24 +- .../ProtectionIntent_Validate.json | 22 +- ...ectionPolicies_CreateOrUpdate_Complex.json | 174 +- ...tectionPolicies_CreateOrUpdate_Simple.json | 74 +- .../ProtectionPolicies_Delete.json | 14 +- .../AzureIaasVm/ProtectionPolicies_Get.json | 44 +- .../ProtectionPolicyOperationResults_Get.json | 46 +- ...ProtectionPolicyOperationStatuses_Get.json | 28 +- .../examples/AzureIaasVm/Provision_Ilr.json | 26 +- ...RecoveryPointsRecommendedForMove_List.json | 86 +- .../AzureIaasVm/RecoveryPoints_Get.json | 46 +- .../AzureIaasVm/RecoveryPoints_List.json | 126 +- .../examples/AzureIaasVm/Revoke_Ilr.json | 16 +- .../examples/AzureIaasVm/StopProtection.json | 56 +- ...iggerRestore_ALR_IaasVMRestoreRequest.json | 48 +- ...reRequest_IdentityBasedRestoreDetails.json | 50 +- ...R_IaasVMRestoreWithRehydrationRequest.json | 50 +- .../TriggerRestore_ResourceGuardEnabled.json | 44 +- ...ore_RestoreDisks_IaasVMRestoreRequest.json | 42 +- ...reRequest_IdentityBasedRestoreDetails.json | 42 +- ...s_IaasVMRestoreWithRehydrationRequest.json | 44 +- .../TriggerValidateOperation_RestoreDisk.json | 40 +- .../AzureIaasVm/V2Policy/IaaS_v2_daily.json | 76 +- .../AzureIaasVm/V2Policy/IaaS_v2_hourly.json | 76 +- .../AzureIaasVm/V2Policy/v2-Get-Policy.json | 48 +- .../V2Policy/v2-List-Policies.json | 110 +- .../AzureIaasVm/ValidateOperationResults.json | 28 +- .../AzureIaasVm/ValidateOperationStatus.json | 26 +- .../ValidateOperation_RestoreDisk.json | 42 +- ...storeDisk_IdentityBasedRestoreDetails.json | 44 +- .../ProtectableContainers_List.json | 32 +- .../ProtectionContainers_Inquire.json | 18 +- .../ProtectionContainers_Inquire_Result.json | 62 +- .../ProtectionContainers_List.json | 26 +- .../ProtectionContainers_Register.json | 50 +- ...otectionPolicies_CreateOrUpdate_Daily.json | 158 +- ...ctionPolicies_CreateOrUpdate_Hardened.json | 130 +- ...tectionPolicies_CreateOrUpdate_Hourly.json | 164 +- .../SoftDeletedContainers_List.json | 26 +- .../AzureWorkload/BackupPolicies_List.json | 60 +- .../BackupProtectionIntent_Delete.json | 16 +- .../BackupProtectionIntent_Get.json | 22 +- .../BackupProtectionIntent_List.json | 20 +- .../BackupWorkloadItems_List.json | 34 +- .../ProtectionContainers_Get.json | 44 +- .../ProtectionContainers_Unregister.json | 16 +- ...ectionPolicies_CreateOrUpdate_Complex.json | 234 +- .../BackupDataMoveOperationStatus_Get.json | 20 +- .../PrepareDataMoveOperationResult_Get.json | 26 +- .../BackupDataMove/PrepareDataMove_Post.json | 20 +- .../BackupDataMove/TriggerDataMove_Post.json | 20 +- .../BackupResourceEncryptionConfig_Get.json | 26 +- .../BackupResourceEncryptionConfig_Put.json | 18 +- .../BackupProtectedItem_UsageSummary_Get.json | 64 +- ...ProtectionContainers_UsageSummary_Get.json | 44 +- .../BackupResourceVaultConfigs_Get.json | 14 +- .../BackupResourceVaultConfigs_Patch.json | 16 +- .../BackupResourceVaultConfigs_Put.json | 16 +- .../Common/BackupSecurityPin_Get.json | 18 +- .../Common/BackupStorageConfig_Get.json | 18 +- .../Common/BackupStorageConfig_Patch.json | 14 +- .../Common/BackupStorageConfig_Put.json | 20 +- .../Common/CancelJobOperationResult.json | 20 +- .../Common/ExportJobsOperationResult.json | 40 +- .../examples/Common/GetJobDetails.json | 44 +- .../2025-02-01/examples/Common/ListJobs.json | 38 +- .../ListJobsWithAllSupportedFilters.json | 26 +- ...istJobsWithStartTimeAndEndTimeFilters.json | 44 +- .../examples/Common/ProtectedItem_Delete.json | 16 +- .../ProtectedItem_Delete_OperationResult.json | 16 +- .../ProtectedItem_Delete_OperationStatus.json | 24 +- .../examples/Common/RefreshContainers.json | 14 +- .../RefreshContainers_OperationResults.json | 16 +- .../examples/Common/TriggerBackup_Post.json | 22 +- .../examples/Common/TriggerCancelJob.json | 14 +- .../examples/Common/TriggerExportJobs.json | 12 +- .../examples/Dpm/BackupEngines_Get.json | 34 +- .../examples/Dpm/BackupEngines_List.json | 52 +- .../2025-02-01/examples/ListOperations.json | 276 +- .../DeletePrivateEndpointConnection.json | 14 +- .../GetPrivateEndpointConnection.json | 28 +- ...vateEndpointConnectionOperationStatus.json | 22 +- .../PutPrivateEndpointConnection.json | 68 +- .../DeleteResourceGuardProxy.json | 12 +- .../GetResourceGuardProxy.json | 28 +- .../ListResourceGuardProxy.json | 28 +- .../PutResourceGuardProxy.json | 32 +- .../UnlockDeleteResourceGuardProxy.json | 16 +- .../FetchTieringCostForPolicy.json | 34 +- .../FetchTieringCostForProtectedItem.json | 24 +- .../FetchTieringCostForRehydrate.json | 18 +- .../TieringCost/FetchTieringCostForVault.json | 22 +- .../GetTieringCostOperationResult.json | 20 +- .../GetTieringCostOperationStatus.json | 22 +- .../TriggerRecoveryPointMove_Post.json | 24 +- 229 files changed, 30415 insertions(+), 11092 deletions(-) create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp new file mode 100644 index 000000000000..61db7a51b577 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -0,0 +1,78 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * The base backup engine class. All workload specific backup engines derive from this class. + */ +@parentResource(VaultResource) +model BackupEngineBaseResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BackupEngineBaseResource, + KeyName = "backupEngineName", + SegmentName = "backupEngines", + NamePattern = "" + >; +} + +@armResourceOperations +interface BackupEngineBaseResources { + /** + * Returns backup management server registered to Recovery Services Vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupEngines_Get") + get is ArmResourceRead< + BackupEngineBaseResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string; + } + >; + + /** + * Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupEngines_List") + list is ArmResourceListByParent< + BackupEngineBaseResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string; + }, + Response = ArmResponse + >; +} + +@@doc(BackupEngineBaseResource.name, "Name of the backup management server."); +@@doc(BackupEngineBaseResource.properties, + "BackupEngineBaseResource properties" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp new file mode 100644 index 000000000000..cb2aa48e8534 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -0,0 +1,175 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * The resource storage details. + */ +@singleton("vaultstorageconfig") +@parentResource(VaultResource) +model BackupResourceConfigResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BackupResourceConfigResource, + KeyName = "backupstorageconfig", + SegmentName = "backupstorageconfig", + NamePattern = "" + >; +} + +@armResourceOperations +interface BackupResourceConfigResources { + /** + * Fetches resource storage config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupResourceStorageConfigsNonCRR_Get") + get is ArmResourceRead; + + /** + * Updates vault storage model type. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("BackupResourceStorageConfigsNonCRR_Update") + update is ArmResourceCreateOrReplaceSync< + BackupResourceConfigResource, + Response = ArmResourceUpdatedResponse + >; + + /** + * Updates vault storage model type. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @patch(#{ implicitOptionality: false }) + @operationId("BackupResourceStorageConfigsNonCRR_patch") + patch is ArmCustomPatchSync< + BackupResourceConfigResource, + PatchModel = BackupResourceConfigResource, + Response = ArmNoContentResponse + >; + + /** + * Prepares source vault for Data Move operation + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("prepareDataMove") + @operationId("BMSPrepareDataMove") + bMSPrepareDataMove is ArmResourceActionAsync< + BackupResourceConfigResource, + PrepareDataMoveRequest, + OkResponse + >; + + /** + * Triggers Data Move Operation on target vault + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("triggerDataMove") + @operationId("BMSTriggerDataMove") + bMSTriggerDataMove is ArmResourceActionAsync< + BackupResourceConfigResource, + TriggerDataMoveRequest, + OkResponse + >; +} + +@armResourceOperations +interface BackupResourceConfigOperationResultOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + @path + @segment("backupstorageconfig") + backupStorageConfigName: "vaultstorageconfig", + }, + KeysOf> + > {} + +@armResourceOperations +interface BackupResourceConfigOperationResults { + /** + * Fetches operation status for data move operation on vault + */ + @operationId("BMSPrepareDataMoveOperationResult_Get") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get is BackupResourceConfigOperationResultOps.Read< + BackupResourceConfigResource, + Response = ArmResponse | AcceptedResponse + >; +} + +@armResourceOperations +interface BackupResourceConfigOperationStatusOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + @path + @segment("backupstorageconfig") + backupStorageConfigName: "vaultstorageconfig", + }, + KeysOf> + > {} + +@armResourceOperations +interface BackupResourceConfigOperationStatuses { + /** + * Fetches Operation Result for Prepare Data Move + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @get + @operationId("GetOperationStatus") + get is BackupResourceConfigOperationStatusOps.Read< + BackupResourceConfigResource, + Response = ArmResponse + >; +} + +@@doc(BackupResourceConfigResource.name, ""); +@@doc(BackupResourceConfigResource.properties, + "BackupResourceConfigResource properties" +); +@@doc(BackupResourceConfigResources.update::parameters.resource, + "Vault storage config request" +); +@@doc(BackupResourceConfigResources.patch::parameters.properties, + "Vault storage config request" +); +@@doc(BackupResourceConfigResources.bMSPrepareDataMove::parameters.body, + "Prepare data move request" +); +@@doc(BackupResourceConfigResources.bMSTriggerDataMove::parameters.body, + "Trigger data move request" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp new file mode 100644 index 000000000000..fbb1a906a366 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -0,0 +1,69 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; + +@singleton("backupResourceEncryptionConfig") +@parentResource(VaultResource) +model BackupResourceEncryptionConfigExtendedResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BackupResourceEncryptionConfigExtendedResource, + KeyName = "backupEncryptionConfig", + SegmentName = "backupEncryptionConfigs", + NamePattern = "" + >; +} + +@singleton("backupResourceEncryptionConfig") +@parentResource(VaultResource) +model BackupResourceEncryptionConfigResource is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BackupResourceEncryptionConfigResource, + KeyName = "backupEncryptionConfig", + SegmentName = "backupEncryptionConfigs", + NamePattern = "" + >; +} + +@armResourceOperations +interface BackupResourceEncryptionConfigExtendedResources { + /** + * Fetches Vault Encryption config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupResourceEncryptionConfigs_Get") + get is ArmResourceRead; + + /** + * Updates Vault encryption config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("BackupResourceEncryptionConfigs_Update") + update is ArmResourceCreateOrReplaceSync< + BackupResourceEncryptionConfigResource, + Response = OkResponse + >; +} + +@@doc(BackupResourceEncryptionConfigExtendedResource.name, ""); +@@doc(BackupResourceEncryptionConfigExtendedResource.properties, + "BackupResourceEncryptionConfigExtendedResource properties" +); +@@doc(BackupResourceEncryptionConfigExtendedResources.update::parameters.resource, + "Vault encryption input config request" +); + +@@doc(BackupResourceEncryptionConfigResource.name, ""); +@@doc(BackupResourceEncryptionConfigResource.properties, + "BackupResourceEncryptionConfigResource properties" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp new file mode 100644 index 000000000000..e97cd2db6220 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -0,0 +1,79 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Backup resource vault config details. + */ +@singleton("vaultconfig") +@parentResource(VaultResource) +model BackupResourceVaultConfigResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = BackupResourceVaultConfigResource, + KeyName = "backupconfig", + SegmentName = "backupconfig", + NamePattern = "" + >; +} + +@armResourceOperations +interface BackupResourceVaultConfigResources { + /** + * Fetches resource vault config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupResourceVaultConfigs_Get") + get is ArmResourceRead; + + /** + * Updates vault security config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("BackupResourceVaultConfigs_Put") + put is ArmResourceCreateOrReplaceSync< + BackupResourceVaultConfigResource, + Parameters = { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string; + }, + Response = ArmResourceUpdatedResponse + >; + + /** + * Updates vault security config. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @patch(#{ implicitOptionality: false }) + @operationId("BackupResourceVaultConfigs_Update") + update is ArmCustomPatchSync< + BackupResourceVaultConfigResource, + PatchModel = BackupResourceVaultConfigResource, + Parameters = { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string; + } + >; +} + +@@doc(BackupResourceVaultConfigResource.name, ""); +@@doc(BackupResourceVaultConfigResource.properties, + "BackupResourceVaultConfigResource properties" +); +@@doc(BackupResourceVaultConfigResources.put::parameters.resource, + "resource config request" +); +@@doc(BackupResourceVaultConfigResources.update::parameters.properties, + "resource config request" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp new file mode 100644 index 000000000000..64983ba9a290 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -0,0 +1,151 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Defines workload agnostic properties for a job. + */ +@parentResource(VaultResource) +model JobResource is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = JobResource, + KeyName = "jobName", + SegmentName = "backupJobs", + NamePattern = "" + >; +} + +@armResourceOperations +interface JobResources { + /** + * Gets extended information associated with the job. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("JobDetails_Get") + get is ArmResourceRead; + + /** + * Provides a pageable list of jobs. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupJobs_List") + list is ArmResourceListByParent< + JobResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string; + }, + Response = ArmResponse + >; + + /** + * Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call + * GetCancelOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("cancel") + @operationId("JobCancellations_Trigger") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + trigger is ArmResourceActionSync; +} + +@armResourceOperations +interface JobOperationResultsOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface JobOperationResults { + /** + * Fetches the result of any operation. + */ + @get + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get is JobOperationResultsOps.Read< + JobResource, + Response = OkResponse | AcceptedResponse | ArmNoContentResponse + >; +} + +@armResourceOperations +interface ExportJobsOperationResultsOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + /** backupJobs */ + @path backupJobs: "backupJobs", + }, + KeysOf> + > {} + +@armResourceOperations +interface ExportJobsOperationResults { + /** + * Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also + * contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format. + */ + @get + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get is ExportJobsOperationResultsOps.Read< + JobResource, + Response = ArmResponse | { + ...AcceptedResponse; + @body body: OperationResultInfoBaseResource; + } + >; +} + +@@doc(JobResource.name, "Name of the job whose details are to be fetched."); +@@doc(JobResource.properties, "JobResource properties"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp new file mode 100644 index 000000000000..ca77f9ac7ad4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -0,0 +1,107 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Private Endpoint Connection Response Properties + */ +@parentResource(VaultResource) +model PrivateEndpointConnectionResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = PrivateEndpointConnectionResource, + KeyName = "privateEndpointConnectionName", + SegmentName = "privateEndpointConnections", + NamePattern = "" + >; +} + +@armResourceOperations +interface PrivateEndpointConnectionResources { + /** + * Get Private Endpoint Connection. This call is made by Backup Admin. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("PrivateEndpointConnection_Get") + get is ArmResourceRead; + + /** + * Approve or Reject Private Endpoint requests. This call is made by Backup Admin. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("PrivateEndpointConnection_Put") + put is ArmResourceCreateOrReplaceAsync< + PrivateEndpointConnectionResource, + LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Delete Private Endpoint requests. This call is made by Backup Admin. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("PrivateEndpointConnection_Delete") + delete is ArmResourceDeleteWithoutOkAsync< + PrivateEndpointConnectionResource, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; +} + +@armResourceOperations +interface PrivateEndpointOperationStatusOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface PrivateEndpointOperationStatuses { + /** + * Gets the operation status for a private endpoint connection. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @get + @operationId("PrivateEndpoint_GetOperationStatus") + get is PrivateEndpointOperationStatusOps.Read< + PrivateEndpointConnectionResource, + Response = ArmResponse + >; +} + +@@doc(PrivateEndpointConnectionResource.name, + "The name of the private endpoint connection." +); +@@doc(PrivateEndpointConnectionResource.properties, + "PrivateEndpointConnectionResource properties" +); +@@doc(PrivateEndpointConnectionResources.put::parameters.resource, + "Request body for operation" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp new file mode 100644 index 000000000000..3113a60a9c07 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -0,0 +1,214 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ProtectionContainerResource.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Base class for backup items. + */ +@parentResource(ProtectionContainerResource) +model ProtectedItemResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ProtectedItemResource, + KeyName = "protectedItemName", + SegmentName = "protectedItems", + NamePattern = "" + >; +} + +@armResourceOperations +interface ProtectedItemResources { + /** + * Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, + * call the GetItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectedItems_Get") + get is ArmResourceRead< + ProtectedItemResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + } + >; + + /** + * Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an + * asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("ProtectedItems_CreateOrUpdate") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + createOrUpdate is ArmResourceCreateOrReplaceSync< + ProtectedItemResource, + Parameters = { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string; + }, + Response = ArmResourceUpdatedResponse | AcceptedResponse + >; + + /** + * Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the + * request, call the GetItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("ProtectedItems_Delete") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + delete is ArmResourceDeleteSync< + ProtectedItemResource, + Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse + >; + + /** + * Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the + * operation, call GetProtectedItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("backup") + @operationId("Backups_Trigger") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + trigger is ArmResourceActionSync< + ProtectedItemResource, + BackupRequestResource, + AcceptedResponse + >; + + /** + * Lists the recovery points recommended for move to another tier + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("recoveryPointsRecommendedForMove") + @operationId("RecoveryPointsRecommendedForMove_List") + list is ArmResourceActionSync< + ProtectedItemResource, + ListRecoveryPointsRecommendedForMoveRequest, + ArmResponse + >; +} + +@armResourceOperations +interface ProtectedItemOperationStatusOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + /** backupFabrics */ + @path @segment("backupFabrics") fabricName: string, + + ...KeysOf>, + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface ProtectedItemOperationStatuses { + /** + * Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed + * or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations + * create jobs. This method returns the list of jobs associated with the operation. + */ + get is ProtectedItemOperationStatusOps.Read< + ProtectedItemResource, + Response = ArmResponse + >; +} + +@armResourceOperations +interface ProtectedItemOperationResultOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + /** backupFabrics */ + @path @segment("backupFabrics") fabricName: string, + + ...KeysOf>, + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface ProtectedItemOperationResults { + /** + * Fetches the result of any operation on the backup item. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get is ProtectedItemOperationResultOps.Read< + ProtectedItemResource, + Response = ArmResponse | AcceptedResponse | ArmNoContentResponse + >; +} + +@@doc(ProtectedItemResource.name, + "Backed up item name whose details are to be fetched." +); +@@doc(ProtectedItemResource.properties, "ProtectedItemResource properties"); +@@doc(ProtectedItemResources.createOrUpdate::parameters.resource, + "resource backed up item" +); +@@doc(ProtectedItemResources.trigger::parameters.body, + "resource backup request" +); +@@doc(ProtectedItemResources.list::parameters.body, + "List Recovery points Recommended for Move Request" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp new file mode 100644 index 000000000000..002671454cac --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -0,0 +1,159 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Base class for container with backup items. Containers with specific workloads are derived from this class. + */ +@parentResource(BackupFabricResource) +model ProtectionContainerResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ProtectionContainerResource, + KeyName = "containerName", + SegmentName = "protectionContainers", + NamePattern = "" + >; +} + +@armResourceOperations +interface ProtectionContainerResources { + /** + * Gets details of the specific container registered to your Recovery Services Vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionContainers_Get") + get is ArmResourceRead; + + /** + * Registers the container with Recovery Services vault. + * This is an asynchronous operation. To track the operation status, use location header to call get latest status of + * the operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("ProtectionContainers_Register") + register is ArmResourceCreateOrUpdateAsync< + ProtectionContainerResource, + Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse, + LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine + * whether the backend service has finished processing the request, call Get Container Operation Result API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("ProtectionContainers_Unregister") + unregister is ArmResourceDeleteSync< + ProtectionContainerResource, + Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse + >; + + /** + * This is an async operation and the results should be tracked using location header or Azure-async-url. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionContainers_Inquire") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + inquire is ArmResourceActionSync< + ProtectionContainerResource, + void, + AcceptedResponse, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + } + >; + + /** + * Provides a pageable list of workload item of a specific container according to the query filter and the pagination + * parameters. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @get + @action("items") + @operationId("BackupWorkloadItems_List") + list is ArmResourceActionSync< + ProtectionContainerResource, + void, + ArmResponse, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string; + } + >; +} + +@armResourceOperations +interface ProtectionContainerOperationResultOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + /** backupFabrics */ + @path @segment("backupFabrics") fabricName: string, + + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface ProtectionContainerOperationResults { + /** + * Fetches the result of any operation on the container. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get is ProtectionContainerOperationResultOps.Read< + ProtectionContainerResource, + Response = ArmResponse | AcceptedResponse | ArmNoContentResponse + >; +} + +@@doc(ProtectionContainerResource.name, + "Name of the container whose details need to be fetched." +); +@@doc(ProtectionContainerResource.properties, + "ProtectionContainerResource properties" +); +@@doc(ProtectionContainerResources.register::parameters.resource, + "Request body for operation" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp new file mode 100644 index 000000000000..9983bfe6cc45 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp @@ -0,0 +1,68 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Base class for backup ProtectionIntent. + */ +@parentResource(BackupFabricResource) +model ProtectionIntentResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ProtectionIntentResource, + KeyName = "intentObjectName", + SegmentName = "backupProtectionIntent", + NamePattern = "" + >; +} + +@armResourceOperations +interface ProtectionIntentResources { + /** + * Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation, + * call the GetItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionIntent_Get") + get is ArmResourceRead; + + /** + * Create Intent for Enabling backup of an item. This is a synchronous operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("ProtectionIntent_CreateOrUpdate") + createOrUpdate is ArmResourceCreateOrReplaceSync< + ProtectionIntentResource, + Response = ArmResourceUpdatedResponse + >; + + /** + * Used to remove intent from an item + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("ProtectionIntent_Delete") + delete is ArmResourceDeleteSync< + ProtectionIntentResource, + Response = ArmDeletedNoContentResponse + >; +} + +@@doc(ProtectionIntentResource.name, + "Backed up item name whose details are to be fetched." +); +@@doc(ProtectionIntentResource.properties, + "ProtectionIntentResource properties" +); +@@doc(ProtectionIntentResources.createOrUpdate::parameters.resource, + "resource backed up item" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp new file mode 100644 index 000000000000..678f6f831975 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -0,0 +1,169 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Base class for backup policy. Workload-specific backup policies are derived from this class. + */ +@parentResource(VaultResource) +model ProtectionPolicyResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ProtectionPolicyResource, + KeyName = "policyName", + SegmentName = "backupPolicies", + NamePattern = "" + >; +} + +@armResourceOperations +interface ProtectionPolicyResources { + /** + * Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous + * operation. Status of the operation can be fetched using GetPolicyOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionPolicies_Get") + get is ArmResourceRead; + + /** + * Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched + * using GetPolicyOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("ProtectionPolicies_CreateOrUpdate") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + createOrUpdate is ArmResourceCreateOrReplaceSync< + ProtectionPolicyResource, + Parameters = { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string; + }, + Response = ArmResourceUpdatedResponse | AcceptedResponse + >; + + /** + * Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the + * operation can be fetched using GetProtectionPolicyOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + @operationId("ProtectionPolicies_Delete") + delete is ArmResourceDeleteAsyncBase< + ProtectionPolicyResource, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch + * scoped results. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupPolicies_List") + list is ArmResourceListByParent< + ProtectionPolicyResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + }, + Response = ArmResponse + >; +} + +@armResourceOperations +interface ProtectionPolicyOperationResultOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface ProtectionPolicyOperationResults { + /** + * Provides the result of an operation. + */ + get is ProtectionPolicyOperationResultOps.Read; +} + +@armResourceOperations +interface ProtectionPolicyOperationStatusOps + extends Azure.ResourceManager.Legacy.LegacyOperations< + { + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Legacy.Provider, + + /** vaults */ + @path @segment("vaults") vaultName: string, + + ...KeysOf>, + }, + KeysOf> + > {} + +@armResourceOperations +interface ProtectionPolicyOperationStatuses { + /** + * Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed + * or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations + * create jobs. This method returns the list of jobs associated with operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @get + get is ProtectionPolicyOperationStatusOps.Read; +} + +@@doc(ProtectionPolicyResource.name, + "Backup policy information to be fetched." +); +@@doc(ProtectionPolicyResource.properties, + "ProtectionPolicyResource properties" +); +@@doc(ProtectionPolicyResources.createOrUpdate::parameters.resource, + "resource backup policy" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp new file mode 100644 index 000000000000..0f7a05a0a3fd --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -0,0 +1,129 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./ProtectedItemResource.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; +/** + * Base class for backup copies. Workload-specific backup copies are derived from this class. + */ +@parentResource(ProtectedItemResource) +model RecoveryPointResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = RecoveryPointResource, + KeyName = "recoveryPointId", + SegmentName = "recoveryPoints", + NamePattern = "" + >; +} + +@armResourceOperations +interface RecoveryPointResources { + /** + * Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. + * To know the status of the operation, call the GetProtectedItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("RecoveryPoints_Get") + get is ArmResourceRead; + + /** + * Lists the backup copies for the backed up item. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("RecoveryPoints_List") + list is ArmResourceListByParent< + RecoveryPointResource, + Parameters = { + /** + * OData filter options. + */ + @query("$filter") + $filter?: string; + }, + Response = ArmResponse + >; + + /** + * Move recovery point from one datastore to another store. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("move") + @operationId("MoveRecoveryPoint") + moveRecoveryPoint is ArmResourceActionAsyncBase< + RecoveryPointResource, + MoveRPAcrossTiersRequest, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use + * GetProtectedItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("restore") + @operationId("Restores_Trigger") + trigger is ArmResourceActionAsyncBase< + RecoveryPointResource, + RestoreRequestResource, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters, + Parameters = { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string; + } + >; + + /** + * Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file + * explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of + * provisioning, call GetProtectedItemOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("provisionInstantItemRecovery") + @operationId("ItemLevelRecoveryConnections_Provision") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + provision is ArmResourceActionSync< + RecoveryPointResource, + ILRRequestResource, + AcceptedResponse + >; + + /** + * Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer + * displaying all recoverable files and folders. This is an asynchronous operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @action("revokeInstantItemRecovery") + @operationId("ItemLevelRecoveryConnections_Revoke") + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + revoke is ArmResourceActionSync< + RecoveryPointResource, + void, + AcceptedResponse + >; +} + +@@doc(RecoveryPointResource.name, + "RecoveryPointID represents the backed up data to be fetched." +); +@@doc(RecoveryPointResource.properties, "RecoveryPointResource properties"); +@@doc(RecoveryPointResources.moveRecoveryPoint::parameters.body, + "Move Resource Across Tiers Request" +); +@@doc(RecoveryPointResources.trigger::parameters.body, + "resource restore request" +); +@@doc(RecoveryPointResources.provision::parameters.body, + "resource ILR request" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp new file mode 100644 index 000000000000..6774bb44a861 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -0,0 +1,84 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; + +@parentResource(VaultResource) +model ResourceGuardProxyBaseResource + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = ResourceGuardProxyBaseResource, + KeyName = "resourceGuardProxyName", + SegmentName = "backupResourceGuardProxies", + NamePattern = "" + >; +} + +@armResourceOperations +interface ResourceGuardProxyBaseResources { + /** + * Returns ResourceGuardProxy under vault and with the name referenced in request + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ResourceGuardProxy_Get") + get is ArmResourceRead; + + /** + * Add or Update ResourceGuardProxy under vault + * Secures vault critical operations + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + @operationId("ResourceGuardProxy_Put") + put is ArmResourceCreateOrReplaceSync< + ResourceGuardProxyBaseResource, + Response = ArmResourceUpdatedResponse + >; + + /** + * Delete ResourceGuardProxy under vault + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ResourceGuardProxy_Delete") + delete is ArmResourceDeleteSync; + + /** + * List the ResourceGuardProxies under vault + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ResourceGuardProxies_Get") + resourceGuardProxiesGet is ArmResourceListByParent< + ResourceGuardProxyBaseResource, + Response = ArmResponse + >; + + /** + * Secures delete ResourceGuardProxy operations. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ResourceGuardProxy_UnlockDelete") + unlockDelete is ArmResourceActionSync< + ResourceGuardProxyBaseResource, + UnlockDeleteRequest, + ArmResponse + >; +} + +@@doc(ResourceGuardProxyBaseResource.name, ""); +@@doc(ResourceGuardProxyBaseResource.properties, + "ResourceGuardProxyBaseResource properties" +); +@@doc(ResourceGuardProxyBaseResources.put::parameters.resource, + "Request body for operation" +); +@@doc(ResourceGuardProxyBaseResources.unlockDelete::parameters.body, + "Request body for operation" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp new file mode 100644 index 000000000000..809fe16039aa --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp @@ -0,0 +1,19 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; + +using TypeSpec.Rest; +using Azure.ResourceManager; + +namespace Microsoft.RecoveryServices; + +@armVirtualResource +model VaultResource { + ...ResourceNameParameter; +} + +@parentResource(VaultResource) +@armVirtualResource +model BackupFabricResource { + ...ResourceNameParameter; +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp new file mode 100644 index 000000000000..c521d710e140 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -0,0 +1,63 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.RecoveryServices; + +@@clientName(BackupResourceConfigResources.update::parameters.resource, + "parameters" +); +@@clientName(BackupResourceConfigResources.patch::parameters.properties, + "parameters" +); +@@clientName(BackupResourceConfigResources.bMSPrepareDataMove::parameters.body, + "parameters" +); +@@clientName(BackupResourceConfigResources.bMSTriggerDataMove::parameters.body, + "parameters" +); + +@@clientName(ProtectionIntentResources.createOrUpdate::parameters.resource, + "parameters" +); + +@@clientName(BackupResourceVaultConfigResources.put::parameters.resource, + "parameters" +); +@@clientName(BackupResourceVaultConfigResources.update::parameters.properties, + "parameters" +); + +@@clientName(BackupResourceEncryptionConfigExtendedResources.update::parameters.resource, + "parameters" +); + +@@clientName(PrivateEndpointConnectionResources.put::parameters.resource, + "parameters" +); + +@@clientName(ProtectedItemResources.createOrUpdate::parameters.resource, + "parameters" +); +@@clientName(ProtectedItemResources.trigger::parameters.body, "parameters"); +@@clientName(ProtectedItemResources.list::parameters.body, "parameters"); + +@@clientName(RecoveryPointResources.moveRecoveryPoint::parameters.body, + "parameters" +); +@@clientName(RecoveryPointResources.trigger::parameters.body, "parameters"); +@@clientName(RecoveryPointResources.provision::parameters.body, "parameters"); + +@@clientName(ProtectionPolicyResources.createOrUpdate::parameters.resource, + "parameters" +); + +@@clientName(ProtectionContainerResources.register::parameters.resource, + "parameters" +); + +@@clientName(ResourceGuardProxyBaseResources.put::parameters.resource, + "parameters" +); +@@clientName(ResourceGuardProxyBaseResources.unlockDelete::parameters.body, + "parameters" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..5818457fed52 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "azureRegion": "southeastasia", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + }, + "operationId": "FeatureSupport_Validate", + "title": "Check Azure Vm Backup Feature Support" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..327b0fa3b30d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureIaasVM'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + } + } + }, + { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + } + ] + } + } + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..1ac9a83b89b0 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureIaasVM'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "properties": { + "backupManagementType": "AzureIaasVM", + "friendlyName": "iaasvm-1", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "protectionState": "NotProtected", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "workloadType": "VM" + } + } + ] + } + } + }, + "operationId": "BackupProtectableItems_List", + "title": "List protectable items with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..238e2dfe08a2 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "friendlyName": "iaasvm-1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "policyType": "V2", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "protectionState": "Protected", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "workloadType": "VM" + } + } + ] + } + } + }, + "operationId": "BackupProtectedItems_List", + "title": "List protected items with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..7be19eb72aef --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "fabricName": "Azure", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "friendlyName": "iaasvm-1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "policyType": "V1", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "protectionState": "Protected", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "workloadType": "VM" + } + }, + "headers": {} + } + }, + "operationId": "ProtectedItems_Get", + "title": "Get Protected Classic Virtual Machine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..aa76c8c96a0d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "fabricName": "Azure", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "friendlyName": "iaasvm-1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "policyType": "V2", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "protectionState": "Protected", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "workloadType": "VM" + } + }, + "headers": {} + } + }, + "operationId": "ProtectedItems_Get", + "title": "Get Protected Virtual Machine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..7a0bc5b7bd60 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "friendlyName": "netvmtestv2vm1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "protectionState": "Protected", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectedItems_CreateOrUpdate", + "title": "Enable Protection on Azure IaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..143770f0d5f4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "azureRegion": "southeastasia", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "errorCode": "Success", + "errorMessage": "ErrorMessage", + "fabricName": "Azure", + "policyName": "myPolicy", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault" + } + } + }, + "operationId": "BackupStatus_Get", + "title": "Get Azure Virtual Machine Backup Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..ef4d74cccdb5 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "friendlyName": "netvmtestv2vm1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "protectionState": "Protected", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectedItemOperationResults_Get", + "title": "Get Operation Results of Protected Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..50286040433c --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000", + "endTime": "2017-10-29T06:04:18.207325Z", + "id": "00000000-0000-0000-0000-000000000000", + "properties": { + "jobId": "00000000-0000-0000-0000-000000000000", + "objectType": "OperationStatusJobExtendedInfo" + }, + "startTime": "2017-10-29T06:04:18.207325Z", + "status": "Succeeded" + }, + "headers": {} + } + }, + "operationId": "ProtectedItemOperationStatuses_Get", + "title": "Get Operation Status of Protected Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..9d39b77f740c --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "parameters": { + "properties": { + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionIntentItemType": "AzureResourceItem", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel" + } + }, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" + }, + "responses": { + "200": { + "body": { + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "properties": { + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionIntentItemType": "AzureResourceItem", + "protectionState": "Protected" + } + } + } + }, + "operationId": "ProtectionIntent_CreateOrUpdate", + "title": "Create or Update Azure Vm Protection Intent" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..f70be6ac14bd --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "azureRegion": "southeastasia", + "parameters": { + "properties": "", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault" + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1", + "recommendation": "Please do not enable protection again.", + "status": "Failed" + } + } + }, + "operationId": "ProtectionIntent_Validate", + "title": "Validate Enable Protection on Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..7c4a19211960 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,183 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "retentionPolicy": { + "monthlySchedule": { + "retentionDuration": { + "count": 2, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "February", + "November" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "timeZone": "Pacific Standard Time" + } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "monthlySchedule": { + "retentionDuration": { + "count": 2, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "February", + "November" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Full Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..37126dfa9a8e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "timeZone": "Pacific Standard Time" + } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Simple Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..c49317385c29 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ProtectionPolicies_Delete", + "title": "Delete Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..a5c6c28ecf17 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + } + } + }, + "operationId": "ProtectionPolicies_Get", + "title": "Get Azure IaasVm Protection Policy Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..91600ac1cea0 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 1, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + } + } + }, + "operationId": "ProtectionPolicyOperationResults_Get", + "title": "Get Protection Policy Operation Results" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..ab2f939dd63c --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "GetProtectionPolicyOperationStatus", + "endTime": "2018-01-24T12:57:32.1142968Z", + "id": "00000000-0000-0000-0000-000000000000", + "properties": { + "failedJobsError": {}, + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "objectType": "OperationStatusJobsExtendedInfo" + }, + "startTime": "2018-01-24T12:57:32.1142968Z", + "status": "Succeeded" + } + } + }, + "operationId": "ProtectionPolicyOperationStatuses_Get", + "title": "Get Protection Policy Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..3a832d75f62e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "objectType": "IaasVMILRRegistrationRequest", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1" + } + }, + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ItemLevelRecoveryConnections_Provision", + "title": "Provision Instant Item Level Recovery for Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json new file mode 100644 index 000000000000..1226c4f834f6 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", + "parameters": { + "excludedRPList": [ + "348916168024334", + "348916168024335" + ], + "objectType": "ListRecoveryPointsRecommendedForMoveRequest" + }, + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1" + } + }, + { + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + }, + "status": "Rehydrated" + } + ], + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1", + "zones": [ + "1" + ] + } + } + ] + } + } + }, + "operationId": "RecoveryPointsRecommendedForMove_List", + "title": "Get Protected Azure Vm Recovery Points Recommended for Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..1dc179ad7171 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "recoveryPointId": "26083826328862", + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" + }, + "responses": { + "200": { + "body": { + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": true, + "isSourceVMEncrypted": false, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "recoveryPointTierDetails": [ + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1", + "zones": [ + "1" + ] + } + } + } + }, + "operationId": "RecoveryPoints_Get", + "title": "Get Azure Vm Recovery Point Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..5a4563d3c4e1 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1" + } + }, + { + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": true, + "isSourceVMEncrypted": false, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved.", + "isReadyForMove": false + } + }, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + }, + "status": "Rehydrated" + } + ], + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1", + "zones": [ + "1" + ] + } + }, + { + "name": "70477518625276", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276", + "properties": { + "extendedLocation": { + "name": "microsoftrrdclab3", + "type": "EdgeZone" + }, + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": false, + "isSourceVMEncrypted": true, + "objectType": "IaasVMRecoveryPoint", + "originalStorageAccountOption": false, + "osType": "Windows", + "recoveryPointAdditionalInfo": "", + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time.", + "isReadyForMove": false + } + }, + "recoveryPointTierDetails": [ + { + "type": "InstantRP", + "status": "Valid" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointTime": "2023-09-22T20:02:00.1225746Z", + "recoveryPointType": "CrashConsistent", + "securityType": "None", + "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage", + "virtualMachineSize": "Standard_D2s_v3" + } + } + ] + } + } + }, + "operationId": "RecoveryPoints_List", + "title": "Get Protected Azure Vm Recovery Points" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..bf8906afe9d4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ItemLevelRecoveryConnections_Revoke", + "title": "Revoke Instant Item Level Recovery for Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..245e7e3d5769 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "protectionState": "ProtectionStopped", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "friendlyName": "netvmtestv2vm1", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "protectionState": "ProtectionStopped", + "protectionStatus": "Healthy", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectedItems_CreateOrUpdate", + "title": "Stop Protection with retain data on Azure IaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..d44dd222cbe8 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": true + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..ebb8e53899e8 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" + }, + "identityInfo": { + "isSystemAssignedIdentity": true + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..7868600a6b4d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "objectType": "IaasVMRestoreWithRehydrationRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryPointRehydrationInfo": { + "rehydrationPriority": "High", + "rehydrationRetentionDuration": "P7D" + }, + "recoveryType": "AlternateLocation", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json new file mode 100644 index 000000000000..b745b7429967 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "resourceGuardOperationRequests": [ + "/subscriptions/063bf7bc-e4dc-4cde-8840-8416fbd7921e/resourcegroups/ankurRG1/providers/Microsoft.DataProtection/resourceGuards/RG341/triggerRestoreRequests/default" + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore with Resource Guard Enabled" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..abd4f9002fb5 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "targetDiskNetworkAccessSettings": { + "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy", + "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks" + } + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..c9a35e3070fb --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..e0bf8324f8cf --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "properties": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "objectType": "IaasVMRestoreWithRehydrationRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryPointRehydrationInfo": { + "rehydrationPriority": "Standard", + "rehydrationRetentionDuration": "P7D" + }, + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreWithRehydrationRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..cfa2d41b8492 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + } + }, + "operationId": "ValidateOperation_Trigger", + "title": "Trigger Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json new file mode 100644 index 000000000000..ea8b16499889 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" + } + }, + "policyName": "v2-daily-sample", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Enhanced Azure Vm Protection Policy with daily backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json new file mode 100644 index 000000000000..518db70d7abb --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" + } + }, + "policyName": "v2-daily-sample", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json new file mode 100644 index 000000000000..4674be22554e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "policyName": "v2-daily-sample", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "Pacific Standard Time" + } + } + } + }, + "operationId": "ProtectionPolicies_Get", + "title": "Get Azure IaasVm Enhanced Protection Policy Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json new file mode 100644 index 000000000000..baf1f5359dff --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureIaasVM'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + } + } + }, + { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" + } + }, + { + "name": "v2-daily-policy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", + "properties": { + "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "timeZone": "Pacific Standard Time" + } + } + ] + } + } + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json new file mode 100644 index 000000000000..fba6722c8ee9 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } + } + }, + "operationId": "ValidateOperationResults_Get", + "title": "Get Operation Results of Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json new file mode 100644 index 000000000000..fd9547117144 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000", + "endTime": "2017-10-29T06:04:18.207325Z", + "id": "00000000-0000-0000-0000-000000000000", + "properties": { + "objectType": "OperationStatusValidateOperationExtendedInfo", + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + }, + "startTime": "2017-10-29T06:04:18.207325Z", + "status": "Succeeded" + }, + "headers": {} + } + }, + "operationId": "ValidateOperationStatuses_Get", + "title": "Get Operation Status of Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..5d312ffaff89 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + }, + "headers": {} + } + }, + "operationId": "Operation_Validate", + "title": "Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..5f9c1222e077 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", + "parameters": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", + "properties": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "createNewCloudService": true, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" + } + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "validateOperationResponse": { + "validationResults": [ + { + "code": "UserErrorCoreCountSubscriptionQuotaReached", + "message": "Core Count subscription quota has been reached.", + "recommendations": [ + "Contact Azure support to increase the limits." + ] + } + ] + } + }, + "headers": {} + } + }, + "operationId": "Operation_Validate", + "title": "Validate Operation with identityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..a1f8a6f6f936 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'", + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "properties": { + "backupManagementType": "AzureStorage", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage", + "friendlyName": "teststorage", + "healthStatus": "Healthy", + "protectableContainerType": "StorageContainer" + } + }, + { + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "properties": { + "backupManagementType": "AzureStorage", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage", + "friendlyName": "teststorage", + "healthStatus": "Healthy", + "protectableContainerType": "StorageContainer" + } + } + ] + } + } + }, + "operationId": "ProtectableContainers_List", + "title": "List protectable items with backupManagementType filter as AzureStorage" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..b3d4d51fc821 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "fabricName": "Azure", + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionContainers_Inquire", + "title": "Inquire Azure Storage Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..6823245234be --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "fabricName": "Azure", + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "properties": { + "backupManagementType": "AzureWorkload", + "containerType": "VMAppContainer", + "extendedInfo": { + "hostServerName": "testsql", + "inquiryInfo": { + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "inquiryValidation": { + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "status": "Success" + }, + "itemCount": 14 + } + ], + "status": "Success" + }, + "nodesList": [] + }, + "friendlyName": "testSQL", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "workloadType": null + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectionContainerOperationResults_Get", + "title": "Get Azure Storage Protection Container Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..d91b46fb4010 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "properties": { + "backupManagementType": "AzureStorage", + "containerType": "StorageContainer", + "friendlyName": "suchandrtestsa125", + "healthStatus": "Healthy", + "protectedItemCount": 2, + "registrationStatus": "Registered", + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125" + } + } + ] + } + } + }, + "operationId": "BackupProtectionContainers_List", + "title": "List Backup Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..7cafd6a2a47c --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "fabricName": "Azure", + "parameters": { + "properties": { + "acquireStorageAccountLock": "Acquire", + "backupManagementType": "AzureStorage", + "containerType": "StorageContainer", + "friendlyName": "swaggertestsa", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa" + } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" + }, + "responses": { + "200": { + "body": { + "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "properties": { + "acquireStorageAccountLock": "Acquire", + "backupManagementType": "AzureStorage", + "containerType": "StorageContainer", + "friendlyName": "swaggertestsa", + "healthStatus": "Healthy", + "protectedItemCount": 0, + "registrationStatus": "Registered", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionContainers_Register", + "title": "RegisterAzure Storage ProtectionContainers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json new file mode 100644 index 000000000000..367b6fc905ec --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 5, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "timeZone": "UTC", + "workLoadType": "AzureFileShare" + } + }, + "policyName": "dailyPolicy2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" + }, + "responses": { + "200": { + "body": { + "name": "dailyPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", + "properties": { + "backupManagementType": "AzureStorage", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 5, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "UTC" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Daily Azure Storage Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json new file mode 100644 index 000000000000..18b2315048f8 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "timeZone": "UTC", + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + } + } + }, + "workLoadType": "AzureFileShare" + } + }, + "policyName": "newPolicyV2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" + }, + "responses": { + "200": { + "body": { + "name": "newPolicyV2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2", + "properties": { + "backupManagementType": "AzureStorage", + "protectedItemsCount": 0, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "timeZone": "UTC", + "vaultRetentionPolicy": { + "snapshotRetentionInDays": 5, + "vaultRetention": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] + } + } + } + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operations/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Azure Storage Vault Standard Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json new file mode 100644 index 000000000000..75be106ff651 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -0,0 +1,178 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 5, + "durationType": "Days" + }, + "retentionTimes": null + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": null + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 12, + "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z" + }, + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly" + }, + "timeZone": "UTC", + "workLoadType": "AzureFileShare" + } + }, + "policyName": "newPolicy2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" + }, + "responses": { + "200": { + "body": { + "name": "newPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", + "properties": { + "backupManagementType": "AzureStorage", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 5, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 12, + "scheduleWindowStartTime": "2021-09-29T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "UTC" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Hourly Azure Storage Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json new file mode 100644 index 000000000000..a0f7e187feb4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "properties": { + "backupManagementType": "AzureStorage", + "containerType": "StorageContainer", + "friendlyName": "suchandrtestsa125", + "healthStatus": "Healthy", + "protectedItemCount": 2, + "registrationStatus": "SoftDeleted", + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125" + } + } + ] + } + } + }, + "operationId": "DeletedProtectionContainers_List", + "title": "List Backup Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..3d425d93452b --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "properties": { + "backupManagementType": "AzureWorkload", + "protectedItemsCount": 0, + "settings": { + "issqlcompression": false, + "timeZone": "UTC" + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + } + }, + { + "policyType": "Log", + "retentionPolicy": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" + } + } + ], + "workLoadType": "SQLDataBase" + } + } + ] + } + } + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureWorkload" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json new file mode 100644 index 000000000000..a6f26abd46a0 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" + }, + "responses": { + "204": {} + }, + "operationId": "ProtectionIntent_Delete", + "title": "Delete Protection intent from item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json new file mode 100644 index 000000000000..0c0773d2a4f4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" + }, + "responses": { + "200": { + "body": { + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "properties": { + "backupManagementType": "AzureWorkload", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent" + } + } + } + }, + "operationId": "ProtectionIntent_Get", + "title": "Get ProtectionIntent for an item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json new file mode 100644 index 000000000000..ee6737984925 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "properties": { + "backupManagementType": "AzureWorkload", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent" + } + } + ] + } + } + }, + "operationId": "BackupProtectionIntent_List", + "title": "List protection intent with backupManagementType filter" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..c0a492ea572e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "suchandr-seacan-rsv" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "SQLInstance;MSSQLSERVER", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", + "properties": { + "backupManagementType": "AzureWorkload", + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\DATA\\" + }, + { + "type": "Log", + "path": "F:\\LOG\\" + } + ], + "friendlyName": "MSSQLSERVER", + "isAutoProtectable": true, + "parentName": "MSSQLSERVER", + "protectionState": "NotProtected", + "serverName": "sqlserver-1.contoso.com", + "subWorkloadItemCount": 3, + "subinquireditemcount": 0, + "workloadItemType": "SQLInstance", + "workloadType": "SQL" + } + } + ] + } + } + }, + "operationId": "BackupWorkloadItems_List", + "title": "List Workload Items in Container" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..f31b4daa8568 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "properties": { + "backupManagementType": "AzureWorkload", + "containerType": "VMAppContainer", + "extendedInfo": { + "hostServerName": "testsql", + "inquiryInfo": { + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "inquiryValidation": { + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "status": "Success" + }, + "itemCount": 14 + } + ], + "status": "Success" + }, + "nodesList": [] + }, + "friendlyName": "testSQL", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "workloadType": null + } + } + } + }, + "operationId": "ProtectionContainers_Get", + "title": "Get Protection Container Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..5dbe39b6c55d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectionContainers_Unregister", + "title": "Unregister Protection Container" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..1325625901c1 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,262 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "settings": { + "issqlcompression": false, + "timeZone": "Pacific Standard Time" + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "retentionPolicy": { + "monthlySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + { + "policyType": "Differential", + "retentionPolicy": { + "retentionDuration": { + "count": 8, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + { + "policyType": "Log", + "retentionPolicy": { + "retentionDuration": { + "count": 7, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" + } + } + ], + "workLoadType": "SQLDataBase" + } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "properties": { + "backupManagementType": "AzureWorkload", + "protectedItemsCount": 0, + "settings": { + "issqlcompression": false, + "timeZone": "Pacific Standard Time" + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "retentionPolicy": { + "monthlySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Months" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + } + }, + { + "policyType": "Differential", + "retentionPolicy": { + "retentionDuration": { + "count": 8, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + } + }, + { + "policyType": "Log", + "retentionPolicy": { + "retentionDuration": { + "count": 7, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" + } + } + ], + "workLoadType": "SQLDataBase" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Full Azure Workload Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..06eef8be52d5 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" + }, + "responses": { + "200": { + "body": { + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "startTime": "2020-02-27T11:59:47.5901592Z", + "status": "Succeeded" + } + } + }, + "operationId": "GetOperationStatus", + "title": "Get OperationStatus" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..c7b569e2e1f6 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" + }, + "responses": { + "200": { + "body": { + "objectType": "PrepareDataMoveResponse" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + }, + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "title": "Get operation result for PrepareDataMove" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..d28605b93d5d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "dataMoveLevel": "Vault", + "targetRegion": "USGov Virginia", + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv" + }, + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + }, + "operationId": "BMSPrepareDataMove", + "title": "Prepare Data Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..da71ab067a4f --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=", + "dataMoveLevel": "Vault", + "sourceRegion": "USGov Iowa", + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv" + }, + "resourceGroupName": "targetRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "target-rsv" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + }, + "operationId": "BMSTriggerDataMove", + "title": "Trigger Data Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json new file mode 100644 index 000000000000..5acfbdcda428 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "rishgrp", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rishTestVault" + }, + "responses": { + "200": { + "body": { + "name": "backupResourceEncryptionConfig", + "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", + "properties": { + "encryptionAtRestType": "CustomerManaged", + "infrastructureEncryptionState": "Disabled", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "lastUpdateStatus": "Succeeded", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "useSystemAssignedIdentity": false, + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + } + }, + "headers": {} + } + }, + "operationId": "BackupResourceEncryptionConfigs_Get", + "title": "Get Vault Encryption Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json new file mode 100644 index 000000000000..2cf0a3fcd25e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "encryptionAtRestType": "CustomerManaged", + "infrastructureEncryptionState": "true", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b" + } + }, + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" + }, + "responses": { + "200": {} + }, + "operationId": "BackupResourceEncryptionConfigs_Update", + "title": "Update Vault Encryption Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..cc583d40aafa --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "$filter": "type eq 'BackupProtectedItemCountSummary'", + "api-version": "2025-02-01", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "localizedValue": "Azure Virtual Machine", + "value": "AzureIaasVM" + }, + "currentValue": 7, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "Azure Backup Agent", + "value": "MAB" + }, + "currentValue": 3, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "Azure Backup Server", + "value": "AzureBackupServer" + }, + "currentValue": 1, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "Azure Storage (Azure Files)", + "value": "AzureStorage" + }, + "currentValue": 2, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "SQL in Azure VM", + "value": "AzureWorkload" + }, + "currentValue": 2, + "limit": -1, + "unit": "Count" + } + ] + } + } + }, + "operationId": "BackupUsageSummaries_List", + "title": "Get Protected Items Usages Summary" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..69edfde4f569 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "$filter": "type eq 'BackupProtectionContainerCountSummary'", + "api-version": "2025-02-01", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "localizedValue": "Azure Backup Server", + "value": "AzureBackupServer" + }, + "currentValue": 2, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "Azure Backup Agent", + "value": "MAB" + }, + "currentValue": 3, + "limit": -1, + "unit": "Count" + }, + { + "name": { + "localizedValue": "SQL in Azure VM", + "value": "AzureWorkload" + }, + "currentValue": 1, + "limit": -1, + "unit": "Count" + } + ] + } + } + }, + "operationId": "BackupUsageSummaries_List", + "title": "Get Protected Containers Usages Summary" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..83349c9b35a9 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" + }, + "responses": { + "200": { + "body": { + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + }, + "operationId": "BackupResourceVaultConfigs_Get", + "title": "Get Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..ac592504f86b --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled" + } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" + }, + "responses": { + "200": { + "body": { + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + }, + "operationId": "BackupResourceVaultConfigs_Update", + "title": "Update Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..5d43e037a08e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" + }, + "responses": { + "200": { + "body": { + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + }, + "operationId": "BackupResourceVaultConfigs_Put", + "title": "Update Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..64ed717c7bb0 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" + }, + "responses": { + "200": { + "body": { + "expiryTimeInUtcTicks": 636495150137443100, + "securityPIN": "200432", + "token": "200432" + } + } + }, + "operationId": "SecurityPINs_Get", + "title": "Get Vault Security Pin" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..f470f4d6393c --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + }, + "headers": {} + } + }, + "operationId": "BackupResourceStorageConfigsNonCRR_Get", + "title": "Get Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..4a0e8f076d7a --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + }, + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "204": {} + }, + "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "title": "Update Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..4389855de670 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + }, + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + }, + "headers": {} + } + }, + "operationId": "BackupResourceStorageConfigsNonCRR_Update", + "title": "Update Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..89f58dd0ab29 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "jobName": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "JobOperationResults_Get", + "title": "Cancel Job Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..4820d7666322 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "headers": {}, + "operation": { + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "objectType": "ExportJobsOperationResultInfo" + } + }, + "headers": {} + }, + "202": { + "body": { + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + }, + "operation": { + "objectType": "ExportJobsOperationResultInfo" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "ExportJobsOperationResults_Get", + "title": "Export Jobs Operation Results" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json new file mode 100644 index 000000000000..5966b76cb640 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "jobName": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT9.8782791S", + "entityFriendlyName": "testvm", + "extendedInfo": { + "propertyBag": { + "VM Name": "testvm" + }, + "tasksList": [ + { + "duration": "PT0S", + "status": "InProgress", + "taskId": "Take Snapshot" + }, + { + "duration": "PT0S", + "status": "NotStarted", + "taskId": "Transfer data to vault" + } + ] + }, + "jobType": "AzureIaaSVMJob", + "operation": "Backup", + "startTime": "2017-08-03T05:31:07.014604Z", + "status": "InProgress", + "virtualMachineVersion": "Compute" + } + } + } + }, + "operationId": "JobDetails_Get", + "title": "Get Job Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json new file mode 100644 index 000000000000..88e394b25674 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT12.4272909S", + "entityFriendlyName": "testvm", + "jobType": "AzureIaaSVMJob", + "operation": "Backup", + "startTime": "2017-08-03T05:31:07.014604Z", + "status": "InProgress", + "virtualMachineVersion": "Compute" + } + }, + { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT31.3066291S", + "endTime": "2017-08-03T05:31:03.7553376Z", + "entityFriendlyName": "testvm", + "jobType": "AzureIaaSVMJob", + "operation": "ConfigureBackup", + "startTime": "2017-08-03T05:30:32.4487085Z", + "status": "Completed", + "virtualMachineVersion": "Compute" + } + } + ] + } + } + }, + "operationId": "BackupJobs_List", + "title": "List All Jobs" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..38ea4228ee98 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT12.4272909S", + "entityFriendlyName": "testvm", + "jobType": "AzureIaaSVMJob", + "operation": "Backup", + "startTime": "2017-08-03T05:31:07.014604Z", + "status": "InProgress", + "virtualMachineVersion": "Compute" + } + } + ] + } + } + }, + "operationId": "BackupJobs_List", + "title": "List Jobs With Filters" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..f6d6cdf98971 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'", + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e", + "value": [ + { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT12.4272909S", + "entityFriendlyName": "testvm", + "jobType": "AzureIaaSVMJob", + "operation": "Backup", + "startTime": "2017-08-03T05:31:07.014604Z", + "status": "InProgress", + "virtualMachineVersion": "Compute" + } + }, + { + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "properties": { + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", + "duration": "PT31.3066291S", + "endTime": "2017-08-03T05:31:03.7553376Z", + "entityFriendlyName": "testvm", + "jobType": "AzureIaaSVMJob", + "operation": "ConfigureBackup", + "startTime": "2017-08-03T05:30:32.4487085Z", + "status": "Completed", + "virtualMachineVersion": "Compute" + } + } + ] + } + } + }, + "operationId": "BackupJobs_List", + "title": "List Jobs With Time Filter" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..1adeac495dff --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectedItems_Delete", + "title": "Delete Protection from Azure Virtual Machine" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..404a332b9bb9 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "BackupOperationResults_Get", + "title": "Get Result for Protected Item Delete Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..bfabbc8dbb38 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000000000", + "endTime": "0001-01-01T00:00:00.00000Z", + "id": "00000000-0000-0000-0000-000000000000", + "startTime": "2017-08-03T06:52:53.886027Z", + "status": "InProgress" + }, + "headers": {} + } + }, + "operationId": "BackupOperationStatuses_Get", + "title": "Get Protected Item Delete Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json new file mode 100644 index 000000000000..2cddc6d59b34 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "ProtectionContainers_Refresh", + "title": "Trigger Azure Vm Discovery" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..df169326bfac --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "title": "Azure Vm Discovery Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..6c32bcd6d5ef --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "fabricName": "Azure", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "resourceGroupName": "linuxRsVaultRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "linuxRsVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + }, + "operationId": "Backups_Trigger", + "title": "Trigger Backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..5f5f61d0d5f5 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "jobName": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "JobCancellations_Trigger", + "title": "Cancel Job" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json new file mode 100644 index 000000000000..511e79edc462 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + }, + "operationId": "Jobs_Export", + "title": "Export Jobs" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..3906ec67c9d6 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "backupEngineName": "testServer", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "properties": { + "azureBackupAgentVersion": "2.0.9532.0", + "backupEngineState": "Active", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, + "protectedItemsCount": 35, + "protectedServersCount": 21, + "usedDiskSpace": 20 + }, + "friendlyName": "testServer", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" + } + } + } + }, + "operationId": "BackupEngines_Get", + "title": "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..d939243be33f --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "properties": { + "azureBackupAgentVersion": "2.0.9532.0", + "backupEngineState": "Active", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, + "protectedItemsCount": 35, + "protectedServersCount": 21, + "usedDiskSpace": 20 + }, + "friendlyName": "testServer1", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" + } + }, + { + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "properties": { + "azureBackupAgentVersion": "2.0.9530.0", + "backupEngineState": "Active", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, + "protectedItemsCount": 35, + "protectedServersCount": 21, + "usedDiskSpace": 20 + }, + "friendlyName": "testServer5", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" + } + } + ] + } + } + }, + "operationId": "BackupEngines_List", + "title": "List Dpm/AzureBackupServer/Lajolla Backup Engines" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json new file mode 100644 index 000000000000..16ab61f3a4d4 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json @@ -0,0 +1,465 @@ +{ + "parameters": { + "api-version": "2025-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "description": "Returns usage details for a Recovery Services Vault.", + "operation": "Recovery Services Vault usage details.", + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services .", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "description": "Returns Storage Configuration for Recovery Services Vault.", + "operation": "Get Resource Storage Config", + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "description": "Updates Storage Configuration for Recovery Services Vault.", + "operation": "Write Resource Storage Config", + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "description": "Returns Configuration for Recovery Services Vault.", + "operation": "Get Resource Config", + "provider": "microsoft.recoveryservices", + "resource": "Vault Config" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "description": "Updates Configuration for Recovery Services Vault.", + "operation": "Update Resource Config", + "provider": "microsoft.recoveryservices", + "resource": "Vault Config" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "description": "Returns token information for Recovery Services Vault.", + "operation": "Get Vault Token Info", + "provider": "microsoft.recoveryservices", + "resource": "Token Info" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "description": "Returns Security PIN Information for Recovery Services Vault.", + "operation": "Get Security PIN Info", + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "description": "Returns Backup Management Metadata for Recovery Services Vault.", + "operation": "Get Backup Management Metadata", + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "description": "Returns Backup Operation Result for Recovery Services Vault.", + "operation": "Get Backup Operation Result", + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "description": "Returns Backup Operation Status for Recovery Services Vault.", + "operation": "Get Backup Operation Status", + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "description": "Returns all Job Objects", + "operation": "Get Jobs", + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "description": "Cancel the Job", + "operation": "Cancel Jobs", + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "description": "Export Jobs", + "operation": "Export Jobs", + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "description": "Returns the Result of Job Operation.", + "operation": "Get Job Operation Result", + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "description": "Returns the Result of Export Job Operation.", + "operation": "Get Export Job Operation Result", + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "description": "Get Recovery Points for Protected Items.", + "operation": "Get Recovery Points", + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "description": "Restore Recovery Points for Protected Items.", + "operation": "Restore Recovery Points", + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "description": "Provision Instant Item Recovery for Protected Item", + "operation": "Provision Instant Item Recovery for Protected Item", + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "description": "Revoke Instant Item Recovery for Protected Item", + "operation": "Revoke Instant Item Recovery for Protected Item", + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "description": "Returns all Protection Policies", + "operation": "Get Protection Policy", + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "description": "Creates Protection Policy", + "operation": "Create Protection Policy", + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "description": "Delete a Protection Policy", + "operation": "Delete Protection Policy", + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "description": "Get Results of Policy Operation.", + "operation": "Get Policy Operation Results", + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "description": "Get Status of Policy Operation.", + "operation": "Get Policy Operation Status", + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "description": "Returns object details of the Protected Item", + "operation": "Get Protected Item Details", + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "description": "Returns the list of all Protected Items.", + "operation": "Get All Protected Items", + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "description": "Create a backup Protected Item", + "operation": "Create Backup Protected Item", + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "description": "Deletes Protected Item", + "operation": "Delete Protected Items", + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "description": "Gets Result of Operation Performed on Protected Items.", + "operation": "Get Protected Items Operation Results", + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "description": "Returns the status of Operation performed on Protected Items.", + "operation": "Get Protected Items operation status", + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "description": "Performs Backup for Protected Item.", + "operation": "Backup Protected Item", + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "description": "Returns list of all Protectable Items.", + "operation": "Get Protectable Items", + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "description": "Refreshes the container list", + "operation": "Refresh container", + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "description": "Returns status of the operation", + "operation": "Get Operation Results", + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "description": "Returns all containers belonging to the subscription", + "operation": "Get Containers In Subscription", + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "description": "Returns all registered containers", + "operation": "Get Registered Container", + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "description": "Gets result of Operation performed on Protection Container.", + "operation": "Get Container Operation Results", + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "description": "Returns all the backup management servers registered with vault.", + "operation": "List of backup management servers.", + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "description": "Check Backup Status for Recovery Services Vaults", + "operation": "Check Backup Status for Vault", + "provider": "microsoft.recoveryservices", + "resource": "Backup Status" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "description": "", + "operation": "Pre Validate Enable Protection", + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "description": "Validate Features", + "operation": "Validate Features", + "provider": "microsoft.recoveryservices", + "resource": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "description": "Create a backup Protection Intent", + "operation": "Create backup Protection Intent", + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "description": "Get all items in a container", + "operation": "Get all items in a container", + "provider": "microsoft.recoveryservices", + "resource": "Workload Items" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "description": "Get all items in a container", + "operation": "Get all items in a container", + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire" + }, + "origin": "user" + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "ListOperations" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..ba815512df02 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "204": {} + }, + "operationId": "PrivateEndpointConnection_Delete", + "title": "Delete PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..74ae1b2984ca --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": { + "body": { + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "properties": { + "groupIds": [ + "AzureBackup_secondary" + ], + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@company.com", + "status": "Approved" + }, + "provisioningState": "Pending" + } + } + } + }, + "operationId": "PrivateEndpointConnection_Get", + "title": "Get PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..5d93cf4f2b5d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": { + "body": { + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "startTime": "2020-02-27T11:59:47.5901592Z", + "status": "Succeeded" + } + } + }, + "operationId": "PrivateEndpoint_GetOperationStatus", + "title": "Get OperationStatus" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..cbb5ac2c9a29 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "groupIds": [ + "AzureBackup_secondary" + ], + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@company.com", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + }, + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": { + "body": { + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "properties": { + "groupIds": [ + "AzureBackup_secondary" + ], + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@company.com", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "properties": { + "groupIds": [ + "AzureBackup_secondary" + ], + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@company.com", + "status": "Approved" + }, + "provisioningState": "Pending" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + } + }, + "operationId": "PrivateEndpointConnection_Put", + "title": "Update PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json new file mode 100644 index 000000000000..29c548eb86a9 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "ResourceGuardProxy_Delete", + "title": "Delete ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json new file mode 100644 index 000000000000..e825f4c92d92 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" + }, + "responses": { + "200": { + "body": { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "properties": { + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "resourceGuardOperationDetails": [ + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + } + }, + "operationId": "ResourceGuardProxy_Get", + "title": "Get ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json new file mode 100644 index 000000000000..4b87f1f73e1a --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "resourceGroupName": "SampleResourceGroup", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "properties": { + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "resourceGuardOperationDetails": [ + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + ] + } + } + }, + "operationId": "ResourceGuardProxies_Get", + "title": "Get VaultGuardProxies" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json new file mode 100644 index 000000000000..b0322029633f --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + }, + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" + }, + "responses": { + "200": { + "body": { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "properties": { + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "resourceGuardOperationDetails": [ + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" + }, + { + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" + } + ], + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + } + }, + "operationId": "ResourceGuardProxy_Put", + "title": "Create ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json new file mode 100644 index 000000000000..4d949656422a --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "resourceGuardOperationRequests": [ + "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default" + ], + "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb" + }, + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" + }, + "responses": { + "200": { + "body": { + "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z" + } + } + }, + "operationId": "ResourceGuardProxy_UnlockDelete", + "title": "UnlockDelete ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json new file mode 100644 index 000000000000..8a906b5a3938 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForPolicyRequest", + "policyName": "monthly", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 + } + } + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json new file mode 100644 index 000000000000..489b87c5fd1e --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 + } + } + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for protected item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json new file mode 100644 index 000000000000..4fded520853d --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "objectType": "FetchTieringCostInfoForRehydrationRequest", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "1222343434", + "rehydrationPriority": "High", + "sourceTierType": "ArchivedRP", + "targetTierType": "HardenedRP" + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostRehydrationInfo", + "rehydrationSizeInBytes": 1204000, + "retailRehydrationCostPerGBPerMonth": 0.02 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 + } + } + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the rehydration cost for recovery point" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json new file mode 100644 index 000000000000..2382ef901a51 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "parameters": { + "objectType": "FetchTieringCostSavingsInfoForVaultRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 + } + } + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for vault" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json new file mode 100644 index 000000000000..2b400080c0bd --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2025-02-01", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": { + "body": { + "objectType": "TieringCostSavingInfo", + "retailSourceTierCostPerGBPerMonth": 0.02, + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 + } + } + }, + "operationId": "GetTieringCostOperationResult_Get", + "title": "Fetch Tiering Cost Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json new file mode 100644 index 000000000000..dcf81abdbc6a --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" + }, + "responses": { + "200": { + "body": { + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "startTime": "2020-02-27T11:59:47.5901592Z", + "status": "Succeeded" + } + } + }, + "operationId": "TieringCostOperationStatus_Get", + "title": "Fetch Tiering Cost Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json new file mode 100644 index 000000000000..a9352b69fbbe --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", + "parameters": { + "objectType": "MoveRPAcrossTiersRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Retry-After": 60 + } + } + }, + "operationId": "MoveRecoveryPoint", + "title": "Trigger RP Move Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp new file mode 100644 index 000000000000..79a13bac37c6 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp @@ -0,0 +1,59 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.2 + * Date: 2025-07-02T07:51:19.697Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./BackupResourceConfigResource.tsp"; +import "./ProtectionIntentResource.tsp"; +import "./BackupResourceVaultConfigResource.tsp"; +import "./BackupResourceEncryptionConfigExtendedResource.tsp"; +import "./PrivateEndpointConnectionResource.tsp"; +import "./ProtectedItemResource.tsp"; +import "./RecoveryPointResource.tsp"; +import "./ProtectionPolicyResource.tsp"; +import "./JobResource.tsp"; +import "./BackupEngineBaseResource.tsp"; +import "./ProtectionContainerResource.tsp"; +import "./ResourceGuardProxyBaseResource.tsp"; +import "./VirtualResource.tsp"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * Open API 2.0 Specs for Azure RecoveryServices Backup service + */ +@armProviderNamespace +@service(#{ title: "Recovery Services Backup Client" }) +@versioned(Versions) +// FIXME: Common type version v1 is not supported for now. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.RecoveryServices; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2025-02-01 API version. + */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2025_02_01: "2025-02-01", +} + +interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp new file mode 100644 index 000000000000..19d891bc9d5a --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -0,0 +1,8300 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.RecoveryServices; + +/** + * Storage type + */ +union StorageType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GeoRedundant: "GeoRedundant", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + LocallyRedundant: "LocallyRedundant", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ZoneRedundant: "ZoneRedundant", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ReadAccessGeoZoneRedundant: "ReadAccessGeoZoneRedundant", +} + +/** + * Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. + */ +union StorageTypeState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Locked: "Locked", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Unlocked: "Unlocked", +} + +/** + * Vault Dedup state + */ +union DedupState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", +} + +/** + * Vault x-cool state + */ +union XcoolState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", +} + +/** + * Type of workload this item represents. + */ +union DataSourceType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VM: "VM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FileFolder: "FileFolder", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSqlDb: "AzureSqlDb", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDB: "SQLDB", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Exchange: "Exchange", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Sharepoint: "Sharepoint", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VMwareVM: "VMwareVM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SystemState: "SystemState", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Client: "Client", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GenericDataSource: "GenericDataSource", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDataBase: "SQLDataBase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureFileShare: "AzureFileShare", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDatabase: "SAPHanaDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPAseDatabase: "SAPAseDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDBInstance: "SAPHanaDBInstance", +} + +/** + * Validation Status + */ +union ValidationStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", +} + +/** + * Specifies whether the container is registered or not + */ +union ProtectionStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotProtected: "NotProtected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Protecting: "Protecting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Protected: "Protected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionFailed: "ProtectionFailed", +} + +/** + * Specifies the fabric name - Azure or AD + */ +union FabricName { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Azure: "Azure", +} + +/** + * Whether storage account lock is to be acquired for this container or not. + */ +union AcquireStorageAccountLock { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Acquire: "Acquire", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotAcquire: "NotAcquire", +} + +/** + * Support status of feature + */ +union SupportStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Supported: "Supported", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DefaultOFF: "DefaultOFF", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DefaultON: "DefaultON", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotSupported: "NotSupported", +} + +/** + * backup protectionIntent type. + */ +union ProtectionIntentItemType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureResourceItem: "AzureResourceItem", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + RecoveryServiceVaultItem: "RecoveryServiceVaultItem", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureWorkloadContainerAutoProtectionIntent: "AzureWorkloadContainerAutoProtectionIntent", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureWorkloadAutoProtectionIntent: "AzureWorkloadAutoProtectionIntent", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureWorkloadSQLAutoProtectionIntent: "AzureWorkloadSQLAutoProtectionIntent", +} + +/** + * Backup management type to execute the current job. + */ +union BackupManagementType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureIaasVM: "AzureIaasVM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + MAB: "MAB", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DPM: "DPM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackupServer: "AzureBackupServer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSql: "AzureSql", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureStorage: "AzureStorage", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureWorkload: "AzureWorkload", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DefaultBackup: "DefaultBackup", +} + +/** + * Unit of the usage. + */ +union UsagesUnit { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Count: "Count", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Bytes: "Bytes", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Seconds: "Seconds", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Percent: "Percent", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CountPerSecond: "CountPerSecond", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + BytesPerSecond: "BytesPerSecond", +} + +/** + * Enabled or Disabled. + */ +union EnhancedSecurityState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", +} + +/** + * Soft Delete feature state + */ +union SoftDeleteFeatureState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AlwaysON: "AlwaysON", +} + +/** + * Encryption At Rest Type + */ +union EncryptionAtRestType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + MicrosoftManaged: "MicrosoftManaged", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CustomerManaged: "CustomerManaged", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +union LastUpdateStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotEnabled: "NotEnabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + PartiallySucceeded: "PartiallySucceeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + PartiallyFailed: "PartiallyFailed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Initialized: "Initialized", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FirstInitialization: "FirstInitialization", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +union InfrastructureEncryptionState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disabled: "Disabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Enabled: "Enabled", +} + +/** + * Gets or sets provisioning state of the private endpoint connection + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +union ProvisioningState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Deleting: "Deleting", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Pending: "Pending", +} + +/** + * GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery + */ +union VaultSubResourceType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackup: "AzureBackup", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackup_secondary: "AzureBackup_secondary", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSiteRecovery: "AzureSiteRecovery", +} + +/** + * Gets or sets the status + */ +union PrivateEndpointConnectionStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Pending: "Pending", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Approved: "Approved", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Rejected: "Rejected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Disconnected: "Disconnected", +} + +/** + * Operation status. + */ +union OperationStatusValues { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + InProgress: "InProgress", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Succeeded: "Succeeded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Canceled: "Canceled", +} + +/** + * DataMove Level + */ +union DataMoveLevel { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Vault: "Vault", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Container: "Container", +} + +/** + * Create mode to indicate recovery of existing soft deleted data source or creation of new data source. + */ +union CreateMode { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Default: "Default", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Recover: "Recover", +} + +/** + * Type of the backup engine. + */ +union BackupEngineType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DpmBackupEngine: "DpmBackupEngine", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackupServerEngine: "AzureBackupServerEngine", +} + +/** + * Backup state of this backup item. + */ +union ProtectionState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IRPending: "IRPending", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Protected: "Protected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionError: "ProtectionError", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionStopped: "ProtectionStopped", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionPaused: "ProtectionPaused", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + BackupsSuspended: "BackupsSuspended", +} + +/** + * Resource Health Status + */ +union ResourceHealthStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Healthy: "Healthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + TransientDegraded: "TransientDegraded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + PersistentDegraded: "PersistentDegraded", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + TransientUnhealthy: "TransientUnhealthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + PersistentUnhealthy: "PersistentUnhealthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", +} + +/** + * Type of this recovery. + */ +union RecoveryType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + OriginalLocation: "OriginalLocation", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AlternateLocation: "AlternateLocation", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + RestoreDisks: "RestoreDisks", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Offline: "Offline", +} + +/** + * Options to resolve copy conflicts. + */ +union CopyOptions { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CreateCopy: "CreateCopy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Skip: "Skip", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Overwrite: "Overwrite", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FailOnConflict: "FailOnConflict", +} + +/** + * Restore Type (FullShareRestore or ItemLevelRestore) + */ +union RestoreRequestType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FullShareRestore: "FullShareRestore", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ItemLevelRestore: "ItemLevelRestore", +} + +/** + * Type of workload for the backup management + */ +union WorkloadType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VM: "VM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FileFolder: "FileFolder", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSqlDb: "AzureSqlDb", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDB: "SQLDB", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Exchange: "Exchange", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Sharepoint: "Sharepoint", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VMwareVM: "VMwareVM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SystemState: "SystemState", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Client: "Client", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GenericDataSource: "GenericDataSource", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDataBase: "SQLDataBase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureFileShare: "AzureFileShare", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDatabase: "SAPHanaDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPAseDatabase: "SAPAseDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDBInstance: "SAPHanaDBInstance", +} + +/** + * Type of backup policy type + */ +union PolicyType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Full: "Full", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Differential: "Differential", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Log: "Log", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CopyOnlyFull: "CopyOnlyFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Incremental: "Incremental", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotFull: "SnapshotFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", +} + +/** + * Tiering Mode to control automatic tiering of recovery points. Supported values are: + * 1. TierRecommended: Tier all recovery points recommended to be tiered + * 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. + * 3. DoNotTier: Do not tier any recovery points + */ +union TieringMode { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + TierRecommended: "TierRecommended", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + TierAfter: "TierAfter", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DoNotTier: "DoNotTier", +} + +/** + * Retention duration type of retention policy. + */ +union RetentionDurationType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Days: "Days", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Weeks: "Weeks", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Months: "Months", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Years: "Years", +} + +/** + * Health status of protected item. + */ +union HealthStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Passed: "Passed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ActionRequired: "ActionRequired", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ActionSuggested: "ActionSuggested", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +union IAASVMPolicyType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + V1: "V1", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + V2: "V2", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +union IaasVMSnapshotConsistencyType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + OnlyCrashConsistent: "OnlyCrashConsistent", +} + +/** + * Backup state of the backed up item. + */ +union ProtectedItemState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IRPending: "IRPending", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Protected: "Protected", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionError: "ProtectionError", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionStopped: "ProtectionStopped", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ProtectionPaused: "ProtectionPaused", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + BackupsSuspended: "BackupsSuspended", +} + +/** + * Last backup operation status. Possible values: Healthy, Unhealthy. + */ +union LastBackupStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Healthy: "Healthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Unhealthy: "Unhealthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IRPending: "IRPending", +} + +/** + * Health status of the backup item, evaluated based on last heartbeat received + */ +union ProtectedItemHealthStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Healthy: "Healthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Unhealthy: "Unhealthy", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + NotReachable: "NotReachable", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IRPending: "IRPending", +} + +/** + * Type of restore point + */ +union RestorePointType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Full: "Full", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Log: "Log", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Differential: "Differential", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Incremental: "Incremental", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotFull: "SnapshotFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", +} + +/** + * Can Overwrite if Target DataBase already exists + */ +union OverwriteOptions { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FailOnConflict: "FailOnConflict", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Overwrite: "Overwrite", +} + +/** + * Defines whether the current recovery mode is file restore or database restore + */ +union RecoveryMode { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FileRecovery: "FileRecovery", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + WorkloadRecovery: "WorkloadRecovery", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotAttach: "SnapshotAttach", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + RecoveryUsingSnapshot: "RecoveryUsingSnapshot", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotAttachAndRecover: "SnapshotAttachAndRecover", +} + +/** + * Type of data directory mapping + */ +union SQLDataDirectoryType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Data: "Data", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Log: "Log", +} + +/** + * RestorePoint type + */ +union RestorePointQueryType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Full: "Full", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Log: "Log", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Differential: "Differential", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FullAndDifferential: "FullAndDifferential", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + All: "All", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Incremental: "Incremental", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotFull: "SnapshotFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", +} + +/** + * Status of the job. + */ +union JobStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + InProgress: "InProgress", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Completed: "Completed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CompletedWithWarnings: "CompletedWithWarnings", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Cancelled: "Cancelled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Cancelling: "Cancelling", +} + +/** + * Type of operation. + */ +union JobOperationType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Register: "Register", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + UnRegister: "UnRegister", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ConfigureBackup: "ConfigureBackup", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Backup: "Backup", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Restore: "Restore", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DisableBackup: "DisableBackup", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DeleteBackupData: "DeleteBackupData", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CrossRegionRestore: "CrossRegionRestore", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Undelete: "Undelete", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + UpdateCustomerManagedKey: "UpdateCustomerManagedKey", +} + +/** + * Retention schedule format type for monthly retention policy. + */ +union RetentionScheduleFormat { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Daily: "Daily", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Weekly: "Weekly", +} + +/** + * Server type of MAB container. + */ +union MabServerType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Unknown: "Unknown", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IaasVMContainer: "IaasVMContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IaasVMServiceContainer: "IaasVMServiceContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DPMContainer: "DPMContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackupServerContainer: "AzureBackupServerContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + MABContainer: "MABContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Cluster: "Cluster", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSqlContainer: "AzureSqlContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Windows: "Windows", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VCenter: "VCenter", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VMAppContainer: "VMAppContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLAGWorkLoadContainer: "SQLAGWorkLoadContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + StorageContainer: "StorageContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GenericContainer: "GenericContainer", +} + +/** + * Health State for the backed up item. + */ +union HealthState { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Passed: "Passed", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ActionRequired: "ActionRequired", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ActionSuggested: "ActionSuggested", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", +} + +/** + * Frequency of the schedule operation of this policy. + */ +union ScheduleRunType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Daily: "Daily", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Weekly: "Weekly", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Hourly: "Hourly", +} + +/** + * File Share type XSync or XSMB. + */ +union AzureFileShareType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + XSMB: "XSMB", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + XSync: "XSync", +} + +/** + * Re-Do Operation + */ +union OperationType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Register: "Register", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Reregister: "Reregister", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Rehydrate: "Rehydrate", +} + +/** + * Status of protectable item, i.e. InProgress,Succeeded,Failed + */ +union InquiryStatus { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Success: "Success", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Failed: "Failed", +} + +/** + * Type of backup, viz. Full, Differential, Log or CopyOnlyFull + */ +union BackupType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Full: "Full", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Differential: "Differential", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Log: "Log", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + CopyOnlyFull: "CopyOnlyFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Incremental: "Incremental", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotFull: "SnapshotFull", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", +} + +/** + * Workload item type of the item for which intent is to be set + */ +union WorkloadItemType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLInstance: "SQLInstance", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDataBase: "SQLDataBase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaSystem: "SAPHanaSystem", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDatabase: "SAPHanaDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPAseSystem: "SAPAseSystem", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPAseDatabase: "SAPAseDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDBInstance: "SAPHanaDBInstance", +} + +/** + * Backup management type for this container. + */ +union Type { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + BackupProtectedItemCountSummary: "BackupProtectedItemCountSummary", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + BackupProtectionContainerCountSummary: "BackupProtectionContainerCountSummary", +} + +/** + * Type of workload this item represents + */ +union IntentItemType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLInstance: "SQLInstance", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLAvailabilityGroupContainer: "SQLAvailabilityGroupContainer", +} + +/** + * Type of container for filter + */ +union ContainerType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Unknown: "Unknown", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IaasVMContainer: "IaasVMContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + IaasVMServiceContainer: "IaasVMServiceContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + DPMContainer: "DPMContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureBackupServerContainer: "AzureBackupServerContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + MABContainer: "MABContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Cluster: "Cluster", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSqlContainer: "AzureSqlContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Windows: "Windows", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VCenter: "VCenter", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VMAppContainer: "VMAppContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLAGWorkLoadContainer: "SQLAGWorkLoadContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + StorageContainer: "StorageContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GenericContainer: "GenericContainer", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + HanaHSRContainer: "HanaHSRContainer", +} + +/** + * Type of backup items associated with this container. + */ +union BackupItemType { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Invalid: "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VM: "VM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + FileFolder: "FileFolder", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureSqlDb: "AzureSqlDb", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDB: "SQLDB", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Exchange: "Exchange", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Sharepoint: "Sharepoint", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + VMwareVM: "VMwareVM", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SystemState: "SystemState", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Client: "Client", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + GenericDataSource: "GenericDataSource", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SQLDataBase: "SQLDataBase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + AzureFileShare: "AzureFileShare", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDatabase: "SAPHanaDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPAseDatabase: "SAPAseDatabase", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SAPHanaDBInstance: "SAPHanaDBInstance", +} + +/** + * Rehydration Priority + */ +union RehydrationPriority { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + Standard: "Standard", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + High: "High", +} + +/** + * HTTP Status Code of the operation. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum HttpStatusCode { + Continue, + SwitchingProtocols, + OK, + Created, + Accepted, + NonAuthoritativeInformation, + NoContent, + ResetContent, + PartialContent, + MultipleChoices, + Ambiguous, + MovedPermanently, + Moved, + Found, + Redirect, + SeeOther, + RedirectMethod, + NotModified, + UseProxy, + Unused, + TemporaryRedirect, + RedirectKeepVerb, + BadRequest, + Unauthorized, + PaymentRequired, + Forbidden, + NotFound, + MethodNotAllowed, + NotAcceptable, + ProxyAuthenticationRequired, + RequestTimeout, + Conflict, + Gone, + LengthRequired, + PreconditionFailed, + RequestEntityTooLarge, + RequestUriTooLong, + UnsupportedMediaType, + RequestedRangeNotSatisfiable, + ExpectationFailed, + UpgradeRequired, + InternalServerError, + NotImplemented, + BadGateway, + ServiceUnavailable, + GatewayTimeout, + HttpVersionNotSupported, +} + +/** + * Type of the container. The value of this property for + * 1. Compute Azure VM is Microsoft.Compute/virtualMachines + * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum ProtectableContainerType { + Invalid, + Unknown, + IaasVMContainer, + IaasVMServiceContainer, + DPMContainer, + AzureBackupServerContainer, + MABContainer, + Cluster, + AzureSqlContainer, + Windows, + VCenter, + VMAppContainer, + SQLAGWorkLoadContainer, + StorageContainer, + GenericContainer, + `Microsoft.ClassicCompute/virtualMachines`, + `Microsoft.Compute/virtualMachines`, + AzureWorkloadContainer, +} + +/** + * Recovery point tier type. + */ +union RecoveryPointTierType { + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP", + string, +} + +/** + * Recovery point tier status. + */ +union RecoveryPointTierStatus { + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated", + string, +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum JobSupportedAction { + Invalid, + Cancellable, + Retriable, +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum DayOfWeek { + Sunday, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, +} + +/** + * Network access settings to be used for restored disks + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum TargetDiskNetworkAccessOption { + SameAsOnSourceDisks, + EnablePrivateAccessForAllDisks, + EnablePublicAccessForAllDisks, +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum WeekOfMonth { + First, + Second, + Third, + Fourth, + Last, + Invalid, +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum MonthOfYear { + Invalid, + January, + February, + March, + April, + May, + June, + July, + August, + September, + October, + November, + December, +} + +/** + * The resource storage details. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +model BackupResourceConfig { + /** + * Storage type + */ + storageModelType?: StorageType; + + /** + * Storage type. + */ + storageType?: StorageType; + + /** + * Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. + */ + storageTypeState?: StorageTypeState; + + /** + * Opt in details of Cross Region Restore feature. + */ + crossRegionRestoreFlag?: boolean; + + /** + * Vault Dedup state + */ + dedupState?: DedupState; + + /** + * Vault x-cool state + */ + xcoolState?: XcoolState; +} + +/** + * ARM Resource. + */ +model Resource { + /** + * Resource Id represents the complete path to the resource. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource name associated with the resource. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Resource location. + */ + location?: string; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + tags?: Record; + + /** + * Optional ETag. + */ + eTag?: string; +} + +/** + * The resource management error response. + */ +@error +model NewErrorResponse { + /** + * The error object. + */ + error?: NewErrorResponseError; +} + +/** + * The error object. + */ +model NewErrorResponseError { + /** + * The error code. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * The error message. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * The error target. + */ + @visibility(Lifecycle.Read) + target?: string; + + /** + * The error details. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["/error/code"]) + details?: NewErrorResponse[]; + + /** + * The error additional info. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) + additionalInfo?: ErrorAdditionalInfo[]; +} + +/** + * Contract to validate if backup can be enabled on the given resource in a given vault and given configuration. + * It will validate followings + * 1. Vault capacity + * 2. VM is already protected + * 3. Any VM related configuration passed in properties. + */ +model PreValidateEnableBackupRequest { + /** + * ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc + */ + resourceType?: DataSourceType; + + /** + * ARM Virtual Machine Id + */ + resourceId?: string; + + /** + * ARM id of the Recovery Services Vault + */ + vaultId?: string; + + /** + * Configuration of VM if any needs to be validated like OS type etc + */ + properties?: string; +} + +/** + * Response contract for enable backup validation request + */ +model PreValidateEnableBackupResponse { + /** + * Validation Status + */ + status?: ValidationStatus; + + /** + * Response error code + */ + errorCode?: string; + + /** + * Response error message + */ + errorMessage?: string; + + /** + * Recommended action for user + */ + recommendation?: string; + + /** + * Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required + * for portal + */ + containerName?: string; + + /** + * Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal + */ + protectedItemName?: string; +} + +/** + * BackupStatus request. + */ +model BackupStatusRequest { + /** + * Container Type - VM, SQLPaaS, DPM, AzureFileShare... + */ + resourceType?: DataSourceType; + + /** + * Entire ARM resource id of the resource + */ + resourceId?: string; + + /** + * Protectable Item Logical Name + */ + poLogicalName?: string; +} + +/** + * BackupStatus response. + */ +model BackupStatusResponse { + /** + * Specifies whether the container is registered or not + */ + protectionStatus?: ProtectionStatus; + + /** + * Specifies the arm resource id of the vault + */ + vaultId?: string; + + /** + * Specifies the fabric name - Azure or AD + */ + fabricName?: FabricName; + + /** + * Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname. + */ + containerName?: string; + + /** + * Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname. + */ + protectedItemName?: string; + + /** + * ErrorCode in case of intent failed + */ + errorCode?: string; + + /** + * ErrorMessage in case of intent failed. + */ + errorMessage?: string; + + /** + * Specifies the policy name which is used for protection + */ + policyName?: string; + + /** + * Container registration status + */ + registrationStatus?: string; + + /** + * Number of protected items + */ + protectedItemsCount?: int32; + + /** + * Specifies whether the storage account lock has been acquired or not + */ + acquireStorageAccountLock?: AcquireStorageAccountLock; +} + +/** + * Base class for feature request + */ +@discriminator("featureType") +model FeatureSupportRequest { + /** + * backup support feature type. + */ + featureType: string; +} + +/** + * Response for feature support requests for Azure IaasVm + */ +model AzureVMResourceFeatureSupportResponse { + /** + * Support status of feature + */ + supportStatus?: SupportStatus; +} + +/** + * Base class for backup ProtectionIntent. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("protectionIntentItemType") +model ProtectionIntent { + /** + * backup protectionIntent type. + */ + protectionIntentItemType: ProtectionIntentItemType; + + /** + * Type of backup management for the backed up item. + */ + backupManagementType?: BackupManagementType; + + /** + * ARM ID of the resource to be backed up. + */ + sourceResourceId?: string; + + /** + * ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId + */ + itemId?: string; + + /** + * ID of the backup policy with which this item is backed up. + */ + policyId?: string; + + /** + * Backup state of this backup item. + */ + protectionState?: ProtectionStatus; +} + +/** + * List of ProtectionIntent resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ProtectionIntentResourceList { + /** + * List of resources. + */ + @items + value?: ProtectionIntentResource[]; + + ...ResourceList; +} + +/** + * Base for all lists of resources. + */ +model ResourceList { + /** + * The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200. + */ + @nextLink + nextLink?: string; +} + +/** + * Backup management usage for vault. + */ +@pagedResult +model BackupManagementUsageList { + /** + * The list of backup management usages for the given vault. + */ + @items + @OpenAPI.extension("x-ms-identifiers", #[]) + value?: BackupManagementUsage[]; + + ...ResourceList; +} + +/** + * Backup management usages of a vault. + */ +model BackupManagementUsage { + /** + * Unit of the usage. + */ + unit?: UsagesUnit; + + /** + * Quota period of usage. + */ + quotaPeriod?: string; + + /** + * Next reset time of usage. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + nextResetTime?: utcDateTime; + + /** + * Current value of usage. + */ + currentValue?: int64; + + /** + * Limit of usage. + */ + limit?: int64; + + /** + * Name of usage. + */ + name?: NameInfo; +} + +/** + * The name of usage. + */ +model NameInfo { + /** + * Value of usage. + */ + value?: string; + + /** + * Localized value of usage. + */ + localizedValue?: string; +} + +/** + * Available operation details. + */ +model ClientDiscoveryValueForSingleApi { + /** + * Name of the Operation. + */ + name?: string; + + /** + * Contains the localized display information for this particular operation + */ + display?: ClientDiscoveryDisplay; + + /** + * The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX + */ + origin?: string; + + /** + * ShoeBox properties for the given operation. + */ + properties?: ClientDiscoveryForProperties; +} + +/** + * Localized display information of an operation. + */ +model ClientDiscoveryDisplay { + /** + * Name of the provider for display purposes + */ + provider?: string; + + /** + * ResourceType for which this Operation can be performed. + */ + resource?: string; + + /** + * Operations Name itself. + */ + operation?: string; + + /** + * Description of the operation having details of what operation is about. + */ + description?: string; +} + +/** + * Class to represent shoebox properties in json client discovery. + */ +model ClientDiscoveryForProperties { + /** + * Operation properties. + */ + serviceSpecification?: ClientDiscoveryForServiceSpecification; +} + +/** + * Class to represent shoebox service specification in json client discovery. + */ +model ClientDiscoveryForServiceSpecification { + /** + * List of log specifications of this operation. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + logSpecifications?: ClientDiscoveryForLogSpecification[]; +} + +/** + * Class to represent shoebox log specification in json client discovery. + */ +model ClientDiscoveryForLogSpecification { + /** + * Name for shoebox log specification. + */ + name?: string; + + /** + * Localized display name + */ + displayName?: string; + + /** + * blob duration of shoebox log specification + */ + blobDuration?: string; +} + +/** + * Backup resource vault config details. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +model BackupResourceVaultConfig { + /** + * Storage type. + */ + storageModelType?: StorageType; + + /** + * Storage type. + */ + storageType?: StorageType; + + /** + * Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. + */ + storageTypeState?: StorageTypeState; + + /** + * Enabled or Disabled. + */ + enhancedSecurityState?: EnhancedSecurityState; + + /** + * Soft Delete feature state + */ + softDeleteFeatureState?: SoftDeleteFeatureState; + + /** + * Soft delete retention period in days + */ + softDeleteRetentionPeriodInDays?: int32; + + /** + * ResourceGuard Operation Requests + */ + resourceGuardOperationRequests?: string[]; + + /** + * This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault + */ + isSoftDeleteFeatureStateEditable?: boolean; +} + +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model BackupResourceEncryptionConfigExtended + extends BackupResourceEncryptionConfig { + /** + * User Assigned Identity Id + */ + userAssignedIdentity?: string; + + /** + * bool to indicate whether to use system Assigned Identity or not + */ + useSystemAssignedIdentity?: boolean; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model BackupResourceEncryptionConfig { + /** + * Encryption At Rest Type + */ + encryptionAtRestType?: EncryptionAtRestType; + + /** + * Key Vault Key URI + */ + keyUri?: string; + + /** + * Key Vault Subscription Id + */ + subscriptionId?: string; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + lastUpdateStatus?: LastUpdateStatus; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + infrastructureEncryptionState?: InfrastructureEncryptionState; +} + +/** + * Private Endpoint Connection Response Properties + */ +model PrivateEndpointConnection { + /** + * Gets or sets provisioning state of the private endpoint connection + */ + provisioningState?: ProvisioningState; + + /** + * Gets or sets private endpoint associated with the private endpoint connection + */ + privateEndpoint?: PrivateEndpoint; + + /** + * Group Ids for the Private Endpoint + */ + groupIds?: VaultSubResourceType[]; + + /** + * Gets or sets private link service connection state + */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; +} + +/** + * The Private Endpoint network resource that is linked to the Private Endpoint connection + */ +model PrivateEndpoint { + /** + * Gets or sets id + */ + id?: string; +} + +/** + * Private Link Service Connection State + */ +model PrivateLinkServiceConnectionState { + /** + * Gets or sets the status + */ + status?: PrivateEndpointConnectionStatus; + + /** + * Gets or sets description + */ + description?: string; + + /** + * Gets or sets actions required + */ + actionsRequired?: string; +} + +/** + * An error response from the Container Instance service. + */ +@error +model CloudError { + /** + * The error object. + */ + error?: CloudErrorBody; +} + +/** + * An error response from the Container Instance service. + */ +model CloudErrorBody { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * The target of the particular error. For example, the name of the property in error. + */ + @visibility(Lifecycle.Read) + target?: string; + + /** + * A list of additional details about the error. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["code"]) + details?: CloudErrorBody[]; + + /** + * The error additional info. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #[]) + additionalInfo?: ErrorAdditionalInfo[]; +} + +/** + * Operation status. + */ +model OperationStatus { + /** + * ID of the operation. + */ + id?: string; + + /** + * Name of the operation. + */ + name?: string; + + /** + * Operation status. + */ + status?: OperationStatusValues; + + /** + * Operation start time. Format: ISO-8601. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * Operation end time. Format: ISO-8601. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; + + /** + * Error information related to this operation. + */ + error?: OperationStatusError; + + /** + * Additional information associated with this operation. + */ + properties?: OperationStatusExtendedInfo; +} + +/** + * Error information associated with operation status call. + */ +model OperationStatusError { + /** + * Error code of the operation failure. + */ + code?: string; + + /** + * Error message displayed if the operation failure. + */ + message?: string; +} + +/** + * Base class for additional information of operation status. + */ +@discriminator("objectType") +model OperationStatusExtendedInfo { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Prepare DataMove Request + */ +model PrepareDataMoveRequest { + /** + * ARM Id of target vault + */ + targetResourceId: string; + + /** + * Target Region + */ + targetRegion: string; + + /** + * DataMove Level + */ + dataMoveLevel: DataMoveLevel; + + /** + * Source Container ArmIds + * This needs to be populated only if DataMoveLevel is set to container + */ + sourceContainerArmIds?: string[]; + + /** + * Ignore the artifacts which are already moved. + */ + ignoreMoved?: boolean; +} + +/** + * Operation result response for Vault Storage Config + */ +@discriminator("objectType") +model VaultStorageConfigOperationResultResponse { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Trigger DataMove Request + */ +model TriggerDataMoveRequest { + /** + * ARM Id of source vault + */ + sourceResourceId: string; + + /** + * Source Region + */ + sourceRegion: string; + + /** + * DataMove Level + */ + dataMoveLevel: DataMoveLevel; + + /** + * Correlation Id + */ + correlationId: string; + + /** + * Source Container ArmIds + */ + sourceContainerArmIds?: string[]; + + /** + * Pause GC + */ + pauseGC?: boolean; +} + +/** + * Base class for backup items. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("protectedItemType") +model ProtectedItem { + /** + * backup item type. + */ + protectedItemType: string; + + /** + * Type of backup management for the backed up item. + */ + @visibility(Lifecycle.Read) + backupManagementType?: BackupManagementType; + + /** + * Type of workload this item represents. + */ + @visibility(Lifecycle.Read) + workloadType?: DataSourceType; + + /** + * Unique name of container + */ + containerName?: string; + + /** + * ARM ID of the resource to be backed up. + */ + sourceResourceId?: string; + + /** + * ID of the backup policy with which this item is backed up. + */ + policyId?: string; + + /** + * Timestamp when the last (latest) backup copy was created for this backup item. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRecoveryPoint?: utcDateTime; + + /** + * Name of the backup set the backup item belongs to + */ + backupSetName?: string; + + /** + * Create mode to indicate recovery of existing soft deleted data source or creation of new data source. + */ + createMode?: CreateMode; + + /** + * Time for deferred deletion in UTC + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + deferredDeleteTimeInUTC?: utcDateTime; + + /** + * Flag to identify whether the DS is scheduled for deferred delete + */ + isScheduledForDeferredDelete?: boolean; + + /** + * Time remaining before the DS marked for deferred delete is permanently deleted + */ + deferredDeleteTimeRemaining?: string; + + /** + * Flag to identify whether the deferred deleted DS is to be purged soon + */ + isDeferredDeleteScheduleUpcoming?: boolean; + + /** + * Flag to identify that deferred deleted DS is to be moved into Pause state + */ + isRehydrate?: boolean; + + /** + * ResourceGuardOperationRequests on which LAC check will be performed + */ + resourceGuardOperationRequests?: string[]; + + /** + * Flag to identify whether datasource is protected in archive + */ + isArchiveEnabled?: boolean; + + /** + * Name of the policy used for protection + */ + policyName?: string; + + /** + * Soft delete retention period in days + */ + softDeleteRetentionPeriodInDays?: int32; + + /** + * ID of the vault which protects this item + */ + @visibility(Lifecycle.Read) + vaultId?: string; +} + +/** + * List of RecoveryPoint resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model RecoveryPointResourceList { + /** + * List of resources. + */ + @items + value?: RecoveryPointResource[]; + + ...ResourceList; +} + +/** + * Base class for backup copies. Workload-specific backup copies are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("objectType") +model RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Base class for restore request. Workload-specific restore requests are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model RestoreRequestResource extends Resource { + /** + * RestoreRequestResource properties + */ + properties?: RestoreRequest; +} + +/** + * Base class for restore request. Workload-specific restore requests are derived from this class. + */ +@discriminator("objectType") +model RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; + + /** + * ResourceGuardOperationRequests on which LAC check will be performed + */ + resourceGuardOperationRequests?: string[]; +} + +/** + * List of ProtectionPolicy resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ProtectionPolicyResourceList { + /** + * List of resources. + */ + @items + value?: ProtectionPolicyResource[]; + + ...ResourceList; +} + +/** + * Base class for backup policy. Workload-specific backup policies are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("backupManagementType") +model ProtectionPolicy { + /** + * Number of items associated with this policy. + */ + protectedItemsCount?: int32; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: string; + + /** + * ResourceGuard Operation Requests + */ + resourceGuardOperationRequests?: string[]; +} + +/** + * List of Job resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model JobResourceList { + /** + * List of resources. + */ + @items + value?: JobResource[]; + + ...ResourceList; +} + +/** + * Defines workload agnostic properties for a job. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("jobType") +model Job { + /** + * Friendly name of the entity on which the current job is executing. + */ + entityFriendlyName?: string; + + /** + * Backup management type to execute the current job. + */ + backupManagementType?: BackupManagementType; + + /** + * The operation name. + */ + operation?: string; + + /** + * Job status. + */ + status?: string; + + /** + * The start time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * The end time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; + + /** + * ActivityId of job. + */ + activityId?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: string; +} + +/** + * Base class for operation result info. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model OperationResultInfoBaseResource extends OperationWorkerResponse { + /** + * OperationResultInfoBaseResource operation + */ + operation?: OperationResultInfoBase; +} + +/** + * Base class for operation result info. + */ +@discriminator("objectType") +model OperationResultInfoBase { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * This is the base class for operation result responses. + */ +model OperationWorkerResponse { + /** + * HTTP Status Code of the operation. + */ + statusCode?: HttpStatusCode; + + /** + * HTTP headers associated with this operation. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + headers?: Record; +} + +/** + * List of ProtectedItem resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ProtectedItemResourceList { + /** + * List of resources. + */ + @items + value?: ProtectedItemResource[]; + + ...ResourceList; +} + +/** + * Base class for validate operation request. + */ +model ValidateOperationRequestResource { + /** + * Recovery point ID. + */ + id: string; + + /** + * ValidateOperationRequestResource properties + */ + properties: ValidateOperationRequest; +} + +/** + * Base class for validate operation request. + */ +@discriminator("objectType") +model ValidateOperationRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model ValidateOperationsResponse { + /** + * Base class for validate operation response. + */ + validateOperationResponse?: ValidateOperationResponse; +} + +/** + * Base class for validate operation response. + */ +model ValidateOperationResponse { + /** + * Gets the validation result + */ + @OpenAPI.extension("x-ms-identifiers", #["code"]) + validationResults?: ErrorDetail[]; +} + +/** + * Error Detail class which encapsulates Code, Message and Recommendations. + */ +model ErrorDetail { + /** + * Error code. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * Error Message related to the Code. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * List of recommendation strings. + */ + @visibility(Lifecycle.Read) + recommendations?: string[]; +} + +/** + * List of BackupEngineBase resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model BackupEngineBaseResourceList { + /** + * List of resources. + */ + @items + value?: BackupEngineBaseResource[]; + + ...ResourceList; +} + +/** + * The base backup engine class. All workload specific backup engines derive from this class. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("backupEngineType") +model BackupEngineBase { + /** + * Friendly name of the backup engine. + */ + friendlyName?: string; + + /** + * Type of backup management for the backup engine. + */ + backupManagementType?: BackupManagementType; + + /** + * Registration status of the backup engine with the Recovery Services Vault. + */ + registrationStatus?: string; + + /** + * Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed} + */ + backupEngineState?: string; + + /** + * Backup status of the backup engine. + */ + healthStatus?: string; + + /** + * Type of the backup engine. + */ + backupEngineType: BackupEngineType; + + /** + * Flag indicating if the backup engine be registered, once already registered. + */ + canReRegister?: boolean; + + /** + * ID of the backup engine. + */ + backupEngineId?: string; + + /** + * Backup engine version + */ + dpmVersion?: string; + + /** + * Backup agent version + */ + azureBackupAgentVersion?: string; + + /** + * To check if backup agent upgrade available + */ + isAzureBackupAgentUpgradeAvailable?: boolean; + + /** + * To check if backup engine upgrade available + */ + isDpmUpgradeAvailable?: boolean; + + /** + * Extended info of the backupengine + */ + extendedInfo?: BackupEngineExtendedInfo; +} + +/** + * Additional information on backup engine. + */ +model BackupEngineExtendedInfo { + /** + * Database name of backup engine. + */ + databaseName?: string; + + /** + * Number of protected items in the backup engine. + */ + protectedItemsCount?: int32; + + /** + * Number of protected servers in the backup engine. + */ + protectedServersCount?: int32; + + /** + * Number of disks in the backup engine. + */ + diskCount?: int32; + + /** + * Disk space used in the backup engine. + */ + usedDiskSpace?: float64; + + /** + * Disk space currently available in the backup engine. + */ + availableDiskSpace?: float64; + + /** + * Last refresh time in the backup engine. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + refreshedAt?: utcDateTime; + + /** + * Protected instances in the backup engine. + */ + azureProtectedInstances?: int32; +} + +/** + * List of ProtectableContainer resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ProtectableContainerResourceList { + /** + * List of resources. + */ + @items + value?: ProtectableContainerResource[]; + + ...ResourceList; +} + +/** + * Protectable Container Class. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model ProtectableContainerResource extends Resource { + /** + * ProtectableContainerResource properties + */ + properties?: ProtectableContainer; +} + +/** + * Protectable Container Class. + */ +@discriminator("protectableContainerType") +model ProtectableContainer { + /** + * Friendly name of the container. + */ + friendlyName?: string; + + /** + * Type of backup management for the container. + */ + backupManagementType?: BackupManagementType; + + /** + * Type of the container. The value of this property for + * 1. Compute Azure VM is Microsoft.Compute/virtualMachines + * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines + */ + protectableContainerType: ProtectableContainerType; + + /** + * Status of health of the container. + */ + healthStatus?: string; + + /** + * Fabric Id of the container such as ARM Id. + */ + containerId?: string; +} + +/** + * Base class for container with backup items. Containers with specific workloads are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +@discriminator("containerType") +model ProtectionContainer { + /** + * Friendly name of the container. + */ + friendlyName?: string; + + /** + * Type of backup management for the container. + */ + backupManagementType?: BackupManagementType; + + /** + * Status of registration of the container with the Recovery Services Vault. + */ + registrationStatus?: string; + + /** + * Status of health of the container. + */ + healthStatus?: string; + + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType; + + /** + * Type of the protectable object associated with this container + */ + protectableObjectType?: string; +} + +/** + * List of WorkloadItem resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model WorkloadItemResourceList { + /** + * List of resources. + */ + @items + value?: WorkloadItemResource[]; + + ...ResourceList; +} + +/** + * Base class for backup item. Workload-specific backup items are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model WorkloadItemResource extends Resource { + /** + * WorkloadItemResource properties + */ + properties?: WorkloadItem; +} + +/** + * Base class for backup item. Workload-specific backup items are derived from this class. + */ +@discriminator("workloadItemType") +model WorkloadItem { + /** + * Type of backup management to backup an item. + */ + backupManagementType?: string; + + /** + * Type of workload for the backup management + */ + workloadType?: string; + + /** + * Type of the backup item. + */ + workloadItemType: string; + + /** + * Friendly name of the backup item. + */ + friendlyName?: string; + + /** + * State of the back up item. + */ + protectionState?: ProtectionStatus; +} + +/** + * Base class for backup request. Workload-specific backup requests are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model BackupRequestResource extends Resource { + /** + * BackupRequestResource properties + */ + properties?: BackupRequest; +} + +/** + * Base class for backup request. Workload-specific backup requests are derived from this class. + */ +@discriminator("objectType") +model BackupRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Parameters to Provision ILR API. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model ILRRequestResource extends Resource { + /** + * ILRRequestResource properties + */ + properties?: ILRRequest; +} + +/** + * Parameters to Provision ILR API. + */ +@discriminator("objectType") +model ILRRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * List of WorkloadProtectableItem resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model WorkloadProtectableItemResourceList { + /** + * List of resources. + */ + @items + value?: WorkloadProtectableItemResource[]; + + ...ResourceList; +} + +/** + * Base class for backup item. Workload-specific backup items are derived from this class. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model WorkloadProtectableItemResource extends Resource { + /** + * WorkloadProtectableItemResource properties + */ + properties?: WorkloadProtectableItem; +} + +/** + * Base class for backup item. Workload-specific backup items are derived from this class. + */ +@discriminator("protectableItemType") +model WorkloadProtectableItem { + /** + * Type of backup management to backup an item. + */ + backupManagementType?: string; + + /** + * Type of workload for the backup management + */ + workloadType?: string; + + /** + * Type of the backup item. + */ + protectableItemType: string; + + /** + * Friendly name of the backup item. + */ + friendlyName?: string; + + /** + * State of the back up item. + */ + protectionState?: ProtectionStatus; +} + +/** + * List of ProtectionContainer resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ProtectionContainerResourceList { + /** + * List of resources. + */ + @items + value?: ProtectionContainerResource[]; + + ...ResourceList; +} + +/** + * Base class for get security pin request body + */ +model SecurityPinBase { + /** + * ResourceGuard Operation Requests + */ + resourceGuardOperationRequests?: string[]; +} + +/** + * The token information details. + */ +model TokenInformation { + /** + * Token value. + */ + token?: string; + + /** + * Expiry time of token. + */ + expiryTimeInUtcTicks?: int64; + + /** + * Security PIN + */ + securityPIN?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model MoveRPAcrossTiersRequest { + /** + * Gets the class type. + */ + objectType?: string; + + /** + * Source tier from where RP needs to be moved + */ + sourceTierType?: RecoveryPointTierType; + + /** + * Target tier where RP needs to be moved + */ + targetTierType?: RecoveryPointTierType; +} + +/** + * ListRecoveryPointsRecommendedForMoveRequest Request + */ +model ListRecoveryPointsRecommendedForMoveRequest { + /** + * Gets the class type. + */ + objectType?: string; + + /** + * List of Recovery Points excluded from Move + */ + excludedRPList?: string[]; +} + +/** + * List of ResourceGuardProxyBase resources + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +@pagedResult +model ResourceGuardProxyBaseResourceList { + /** + * List of resources. + */ + @items + value?: ResourceGuardProxyBaseResource[]; + + ...ResourceList; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model ResourceGuardProxyBase { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + resourceGuardResourceId: string; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @OpenAPI.extension("x-ms-identifiers", #[]) + resourceGuardOperationDetails?: ResourceGuardOperationDetail[]; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + lastUpdatedTime?: string; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + description?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model ResourceGuardOperationDetail { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + vaultCriticalOperation?: string; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + defaultResourceRequest?: string; +} + +/** + * Request body of unlock delete API. + */ +model UnlockDeleteRequest { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + resourceGuardOperationRequests?: string[]; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + resourceToBeDeleted?: string; +} + +/** + * Response of Unlock Delete API. + */ +model UnlockDeleteResponse { + /** + * This is the time when unlock delete privileges will get expired. + */ + unlockDeleteExpiryTime?: string; +} + +/** + * Base class for tiering cost request. + * Specific cost request types are derived from this class. + */ +@discriminator("objectType") +model FetchTieringCostInfoRequest { + /** + * Source tier for the request + */ + sourceTierType: RecoveryPointTierType; + + /** + * target tier for the request + */ + targetTierType: RecoveryPointTierType; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Base class for tiering cost response + */ +@discriminator("objectType") +model TieringCostInfo { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: string; +} + +/** + * Azure File Share workload-specific backup item. + */ +model AzureFileshareProtectedItem extends ProtectedItem { + /** + * Friendly name of the fileshare represented by this backup item. + */ + friendlyName?: string; + + /** + * Backup status of this backup item. + */ + protectionStatus?: string; + + /** + * Backup state of this backup item. + */ + protectionState?: ProtectionState; + + /** + * Last backup operation status. Possible values: Healthy, Unhealthy. + */ + lastBackupStatus?: string; + + /** + * Timestamp of the last backup operation on this backup item. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastBackupTime?: utcDateTime; + + /** + * Health details of different KPIs + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + kpisHealths?: Record; + + /** + * Additional information with this backup item. + */ + extendedInfo?: AzureFileshareProtectedItemExtendedInfo; + + /** + * backup item type. + */ + protectedItemType: "AzureFileShareProtectedItem"; +} + +/** + * KPI Resource Health Details + */ +model KPIResourceHealthDetails { + /** + * Resource Health Status + */ + resourceHealthStatus?: ResourceHealthStatus; + + /** + * Resource Health Status + */ + @OpenAPI.extension("x-ms-identifiers", #["code"]) + resourceHealthDetails?: ResourceHealthDetails[]; +} + +/** + * Health Details for backup items. + */ +model ResourceHealthDetails { + /** + * Health Code + */ + @visibility(Lifecycle.Read) + code?: int32; + + /** + * Health Title + */ + @visibility(Lifecycle.Read) + title?: string; + + /** + * Health Message + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * Health Recommended Actions + */ + @visibility(Lifecycle.Read) + recommendations?: string[]; +} + +/** + * Additional information about Azure File Share backup item. + */ +model AzureFileshareProtectedItemExtendedInfo { + /** + * The oldest backup copy available for this item in the service. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * Number of available backup copies associated with this backup item. + */ + recoveryPointCount?: int32; + + /** + * Indicates consistency of policy object and policy applied to this backup item. + */ + policyState?: string; + + /** + * Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted} + */ + @visibility(Lifecycle.Read) + resourceState?: string; + + /** + * The resource state sync time for this backup item. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + resourceStateSyncTime?: utcDateTime; +} + +/** + * Azure File Share workload specific backup copy. + */ +model AzureFileShareRecoveryPoint extends RecoveryPoint { + /** + * Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent. + */ + recoveryPointType?: string; + + /** + * Time at which this backup copy was created. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointTime?: utcDateTime; + + /** + * Contains Url to the snapshot of fileshare, if applicable + */ + fileShareSnapshotUri?: string; + + /** + * Contains recovery point size + */ + recoveryPointSizeInGB?: int32; + + /** + * Properties of Recovery Point + */ + recoveryPointProperties?: RecoveryPointProperties; + + /** + * Recovery point tier information. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + recoveryPointTierDetails?: RecoveryPointTierInformation[]; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureFileShareRecoveryPoint"; +} + +/** + * Properties of Recovery Point + */ +model RecoveryPointProperties { + /** + * Expiry time of Recovery Point in UTC. + */ + expiryTime?: string; + + /** + * Rule name tagged on Recovery Point that governs life cycle + */ + ruleName?: string; + + /** + * Bool to indicate whether RP is in soft delete state or not + */ + isSoftDeleted?: boolean; +} + +/** + * Recovery point tier information. + */ +model RecoveryPointTierInformation { + /** + * Recovery point tier type. + */ + type?: RecoveryPointTierType; + + /** + * Recovery point tier status. + */ + status?: RecoveryPointTierStatus; + + /** + * Recovery point tier status. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + extendedInfo?: Record; +} + +/** + * AzureFileShare Restore Request + */ +model AzureFileShareRestoreRequest extends RestoreRequest { + /** + * Type of this recovery. + */ + recoveryType?: RecoveryType; + + /** + * Source storage account ARM Id + */ + sourceResourceId?: string; + + /** + * Options to resolve copy conflicts. + */ + copyOptions?: CopyOptions; + + /** + * Restore Type (FullShareRestore or ItemLevelRestore) + */ + restoreRequestType?: RestoreRequestType; + + /** + * List of Source Files/Folders(which need to recover) and TargetFolderPath details + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + restoreFileSpecs?: RestoreFileSpecs[]; + + /** + * Target File Share Details + */ + targetDetails?: TargetAFSRestoreInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureFileShareRestoreRequest"; +} + +/** + * Restore file specs like file path, type and target folder path info. + */ +model RestoreFileSpecs { + /** + * Source File/Folder path + */ + path?: string; + + /** + * Indicates what the Path variable stands for + */ + fileSpecType?: string; + + /** + * Destination folder path in target FileShare + */ + targetFolderPath?: string; +} + +/** + * Target Azure File Share Info. + */ +model TargetAFSRestoreInfo { + /** + * File share name + */ + name?: string; + + /** + * Target file share resource ARM ID + */ + targetResourceId?: string; +} + +/** + * Azure VM (Mercury) workload-specific backup policy. + */ +model AzureVmWorkloadProtectionPolicy extends ProtectionPolicy { + /** + * Type of workload for the backup management + */ + workLoadType?: WorkloadType; + + /** + * Common settings for the backup management + */ + settings?: Settings; + + /** + * List of sub-protection policies which includes schedule and retention + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + subProtectionPolicy?: SubProtectionPolicy[]; + + /** + * Fix the policy inconsistency + */ + makePolicyConsistent?: boolean; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "AzureWorkload"; +} + +/** + * Common settings field for backup management + */ +model Settings { + /** + * TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". + */ + timeZone?: string; + + /** + * SQL compression flag + */ + issqlcompression?: boolean; + + /** + * Workload compression flag. This has been added so that 'isSqlCompression' + * will be deprecated once clients upgrade to consider this flag. + */ + isCompression?: boolean; +} + +/** + * Sub-protection policy which includes schedule and retention + */ +model SubProtectionPolicy { + /** + * Type of backup policy type + */ + policyType?: PolicyType; + + /** + * Backup schedule specified as part of backup policy. + */ + schedulePolicy?: SchedulePolicy; + + /** + * Retention policy with the details on backup copy retention ranges. + */ + retentionPolicy?: RetentionPolicy; + + /** + * Tiering policy to automatically move RPs to another tier. + * Key is Target Tier, defined in RecoveryPointTierType enum. + * Tiering policy specifies the criteria to move RP to the target tier. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + tieringPolicy?: Record; + + /** + * Snapshot Backup related fields for WorkloadType SaPHanaSystem + */ + snapshotBackupAdditionalDetails?: SnapshotBackupAdditionalDetails; +} + +/** + * Base class for backup schedule. + */ +@discriminator("schedulePolicyType") +model SchedulePolicy { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + schedulePolicyType: string; +} + +/** + * Base class for retention policy. + */ +@discriminator("retentionPolicyType") +model RetentionPolicy { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + retentionPolicyType: string; +} + +/** + * Tiering Policy for a target tier. + * If the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier + */ +model TieringPolicy { + /** + * Tiering Mode to control automatic tiering of recovery points. Supported values are: + * 1. TierRecommended: Tier all recovery points recommended to be tiered + * 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. + * 3. DoNotTier: Do not tier any recovery points + */ + tieringMode?: TieringMode; + + /** + * Number of days/weeks/months/years to retain backups in current tier before tiering. + * Used only if TieringMode is set to TierAfter + */ + duration?: int32; + + /** + * Retention duration type: days/weeks/months/years + * Used only if TieringMode is set to TierAfter + */ + durationType?: RetentionDurationType; +} + +/** + * Snapshot Backup related fields for WorkloadType SaPHanaSystem + */ +model SnapshotBackupAdditionalDetails { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + instantRpRetentionRangeInDays?: int32; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + instantRPDetails?: string; + + /** + * User assigned managed identity details + */ + userAssignedManagedIdentityDetails?: UserAssignedManagedIdentityDetails; +} + +/** + * User assigned managed identity details + */ +model UserAssignedManagedIdentityDetails { + /** + * The ARM id of the assigned identity. + */ + identityArmId?: string; + + /** + * The name of the assigned identity. + */ + identityName?: string; + + /** + * User assigned managed identity properties + */ + userAssignedIdentityProperties?: UserAssignedIdentityProperties; +} + +/** + * User assigned managed identity properties + */ +model UserAssignedIdentityProperties { + /** + * The client ID of the assigned identity. + */ + clientId?: string; + + /** + * The principal ID of the assigned identity. + */ + principalId?: string; +} + +/** + * AzureStorage backup policy. + */ +model AzureFileShareProtectionPolicy extends ProtectionPolicy { + /** + * Type of workload for the backup management + */ + workLoadType?: WorkloadType; + + /** + * Backup schedule specified as part of backup policy. + */ + schedulePolicy?: SchedulePolicy; + + /** + * Retention policy with the details on backup copy retention ranges. + */ + retentionPolicy?: RetentionPolicy; + + /** + * Retention policy with the details on hardened backup copy retention ranges. + */ + vaultRetentionPolicy?: VaultRetentionPolicy; + + /** + * TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". + */ + timeZone?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "AzureStorage"; +} + +/** + * Vault retention policy for AzureFileShare + */ +model VaultRetentionPolicy { + /** + * Base class for retention policy. + */ + vaultRetention: RetentionPolicy; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + snapshotRetentionInDays: int32; +} + +/** + * IaaS VM workload-specific backup item representing the Classic Compute VM. + */ +model AzureIaaSClassicComputeVMProtectedItem extends ProtectedItem { + /** + * backup item type. + */ + protectedItemType: "Microsoft.ClassicCompute/virtualMachines"; + + ...AzureIaaSVMProtectedItemProperties; +} + +alias AzureIaaSVMProtectedItemProperties = { + /** + * Friendly name of the VM represented by this backup item. + */ + @visibility(Lifecycle.Read) + friendlyName?: string; + + /** + * Fully qualified ARM ID of the virtual machine represented by this item. + */ + @visibility(Lifecycle.Read) + virtualMachineId?: string; + + /** + * Backup status of this backup item. + */ + protectionStatus?: string; + + /** + * Backup state of this backup item. + */ + protectionState?: ProtectionState; + + /** + * Health status of protected item. + */ + @visibility(Lifecycle.Read) + healthStatus?: HealthStatus; + + /** + * Health details on this backup item. + */ + @OpenAPI.extension("x-ms-identifiers", #["code"]) + healthDetails?: AzureIaaSVMHealthDetails[]; + + /** + * Health details of different KPIs + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + kpisHealths?: Record; + + /** + * Last backup operation status. + */ + lastBackupStatus?: string; + + /** + * Timestamp of the last backup operation on this backup item. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastBackupTime?: utcDateTime; + + /** + * Data ID of the protected item. + */ + @visibility(Lifecycle.Read) + protectedItemDataId?: string; + + /** + * Additional information for this backup item. + */ + extendedInfo?: AzureIaaSVMProtectedItemExtendedInfo; + + /** + * Extended Properties for Azure IaasVM Backup. + */ + extendedProperties?: ExtendedProperties; + + /** + * Type of the policy used for protection + */ + @visibility(Lifecycle.Read) + policyType?: string; +}; + +/** + * IaaS VM workload-specific backup item. + */ +model AzureIaaSVMProtectedItem extends ProtectedItem { + /** + * backup item type. + */ + protectedItemType: "AzureIaaSVMProtectedItem"; + + ...AzureIaaSVMProtectedItemProperties; +} + +/** + * Azure IaaS VM workload-specific Health Details. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model AzureIaaSVMHealthDetails extends ResourceHealthDetails {} + +/** + * Additional information on Azure IaaS VM specific backup item. + */ +model AzureIaaSVMProtectedItemExtendedInfo { + /** + * The oldest backup copy available for this backup item across all tiers. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * The oldest backup copy available for this backup item in vault tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPointInVault?: utcDateTime; + + /** + * The oldest backup copy available for this backup item in archive tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPointInArchive?: utcDateTime; + + /** + * The latest backup copy available for this backup item in archive tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + newestRecoveryPointInArchive?: utcDateTime; + + /** + * Number of backup copies available for this backup item. + */ + recoveryPointCount?: int32; + + /** + * Specifies if backup policy associated with the backup item is inconsistent. + */ + policyInconsistent?: boolean; +} + +/** + * Extended Properties for Azure IaasVM Backup. + */ +model ExtendedProperties { + /** + * Extended Properties for Disk Exclusion. + */ + diskExclusionProperties?: DiskExclusionProperties; + + /** + * Linux VM name + */ + linuxVmApplicationName?: string; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model DiskExclusionProperties { + /** + * List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. + */ + diskLunList?: int32[]; + + /** + * Flag to indicate whether DiskLunList is to be included/ excluded from backup. + */ + isInclusionList?: boolean; +} + +/** + * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. + */ +model AzureIaaSComputeVMProtectedItem extends ProtectedItem { + /** + * backup item type. + */ + protectedItemType: "Microsoft.Compute/virtualMachines"; + + ...AzureIaaSVMProtectedItemProperties; +} + +/** + * Azure IaaS VM workload-specific error information. + */ +model AzureIaaSVMErrorInfo { + /** + * Error code. + */ + @visibility(Lifecycle.Read) + errorCode?: int32; + + /** + * Title: Typically, the entity that the error pertains to. + */ + @visibility(Lifecycle.Read) + errorTitle?: string; + + /** + * Localized error string. + */ + @visibility(Lifecycle.Read) + errorString?: string; + + /** + * List of localized recommendations for above error code. + */ + @visibility(Lifecycle.Read) + recommendations?: string[]; +} + +/** + * Azure IaaS VM workload-specific job object. + */ +model AzureIaaSVMJob extends Job { + /** + * Time elapsed during the execution of this job. + */ + duration?: duration; + + /** + * Gets or sets the state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Error details on execution of this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["errorCode"]) + errorDetails?: AzureIaaSVMErrorInfo[]; + + /** + * Specifies whether the backup item is a Classic or an Azure Resource Manager VM. + */ + virtualMachineVersion?: string; + + /** + * Additional information for this job. + */ + extendedInfo?: AzureIaaSVMJobExtendedInfo; + + /** + * Container name of the entity on which the current job is executing. + */ + containerName?: string; + + /** + * Indicated that whether the job is adhoc(true) or scheduled(false) + */ + isUserTriggered?: boolean; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "AzureIaaSVMJob"; +} + +/** + * Azure IaaS VM workload-specific additional information for job. + */ +model AzureIaaSVMJobExtendedInfo { + /** + * List of tasks associated with this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["taskId"]) + tasksList?: AzureIaaSVMJobTaskDetails[]; + + /** + * Job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Job internal properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + internalPropertyBag?: Record; + + /** + * Indicates progress of the job. Null if it has not started or completed. + */ + progressPercentage?: float64; + + /** + * Time remaining for execution of this job. + */ + estimatedRemainingDuration?: string; + + /** + * Non localized error message on job execution. + */ + dynamicErrorMessage?: string; +} + +/** + * Azure IaaS VM workload-specific job task details. + */ +model AzureIaaSVMJobTaskDetails { + /** + * The task display name. + */ + taskId?: string; + + /** + * The start time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * The end time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; + + /** + * The instanceId. + */ + instanceId?: string; + + /** + * Time elapsed for task. + */ + duration?: duration; + + /** + * The status. + */ + status?: string; + + /** + * Progress of the task. + */ + progressPercentage?: float64; + + /** + * Details about execution of the task. + * eg: number of bytes transferred etc + */ + taskExecutionDetails?: string; +} + +/** + * Azure IaaS VM workload-specific job object. + */ +model AzureIaaSVMJobV2 extends Job { + /** + * Gets or sets the state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Container name of the entity on which the current job is executing. + */ + containerName?: string; + + /** + * Time elapsed during the execution of this job. + */ + duration?: duration; + + /** + * Error details on execution of this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["errorCode"]) + errorDetails?: AzureIaaSVMErrorInfo[]; + + /** + * Specifies whether the backup item is a Classic or an Azure Resource Manager VM. + */ + virtualMachineVersion?: string; + + /** + * Additional information for this job. + */ + extendedInfo?: AzureIaaSVMJobExtendedInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "AzureIaaSVMJobV2"; +} + +/** + * IaaS VM workload-specific backup policy. + */ +model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + instantRPDetails?: InstantRPAdditionalDetails; + + /** + * Backup schedule specified as part of backup policy. + */ + schedulePolicy?: SchedulePolicy; + + /** + * Retention policy with the details on backup copy retention ranges. + */ + retentionPolicy?: RetentionPolicy; + + /** + * Tiering policy to automatically move RPs to another tier + * Key is Target Tier, defined in RecoveryPointTierType enum. + * Tiering policy specifies the criteria to move RP to the target tier. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + tieringPolicy?: Record; + + /** + * Instant RP retention policy range in days + */ + instantRpRetentionRangeInDays?: int32; + + /** + * TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". + */ + timeZone?: string; + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + policyType?: IAASVMPolicyType; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + snapshotConsistencyType?: IaasVMSnapshotConsistencyType; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "AzureIaasVM"; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model InstantRPAdditionalDetails { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + azureBackupRGNamePrefix?: string; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + azureBackupRGNameSuffix?: string; +} + +/** + * Azure SQL workload-specific backup item. + */ +model AzureSqlProtectedItem extends ProtectedItem { + /** + * Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. + */ + protectedItemDataId?: string; + + /** + * Backup state of the backed up item. + */ + protectionState?: ProtectedItemState; + + /** + * Additional information for this backup item. + */ + extendedInfo?: AzureSqlProtectedItemExtendedInfo; + + /** + * backup item type. + */ + protectedItemType: "Microsoft.Sql/servers/databases"; +} + +/** + * Additional information on Azure Sql specific protected item. + */ +model AzureSqlProtectedItemExtendedInfo { + /** + * The oldest backup copy available for this item in the service. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * Number of available backup copies associated with this backup item. + */ + recoveryPointCount?: int32; + + /** + * State of the backup policy associated with this backup item. + */ + policyState?: string; +} + +/** + * Azure storage specific error information + */ +model AzureStorageErrorInfo { + /** + * Error code. + */ + errorCode?: int32; + + /** + * Localized error string. + */ + errorString?: string; + + /** + * List of localized recommendations for above error code. + */ + recommendations?: string[]; +} + +/** + * Azure SQL workload-specific backup policy. + */ +model AzureSqlProtectionPolicy extends ProtectionPolicy { + /** + * Retention policy details. + */ + retentionPolicy?: RetentionPolicy; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "AzureSql"; +} + +/** + * Azure storage specific job. + */ +model AzureStorageJob extends Job { + /** + * Time elapsed during the execution of this job. + */ + duration?: duration; + + /** + * Gets or sets the state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Error details on execution of this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["errorCode"]) + errorDetails?: AzureStorageErrorInfo[]; + + /** + * Specifies friendly name of the storage account. + */ + storageAccountName?: string; + + /** + * Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account. + */ + storageAccountVersion?: string; + + /** + * Additional information about the job. + */ + extendedInfo?: AzureStorageJobExtendedInfo; + + /** + * Indicated that whether the job is adhoc(true) or scheduled(false) + */ + isUserTriggered?: boolean; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "AzureStorageJob"; +} + +/** + * Azure Storage workload-specific additional information for job. + */ +model AzureStorageJobExtendedInfo { + /** + * List of tasks for this job + */ + @OpenAPI.extension("x-ms-identifiers", #["taskId"]) + tasksList?: AzureStorageJobTaskDetails[]; + + /** + * Job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Non localized error message on job execution. + */ + dynamicErrorMessage?: string; +} + +/** + * Azure storage workload specific job task details. + */ +model AzureStorageJobTaskDetails { + /** + * The task display name. + */ + taskId?: string; + + /** + * The status. + */ + status?: string; +} + +/** + * Azure VM workload-specific protected item. + */ +model AzureVmWorkloadProtectedItem extends ProtectedItem { + /** + * backup item type. + */ + protectedItemType: "AzureVmWorkloadProtectedItem"; + + /** + * Friendly name of the DB represented by this backup item. + */ + @visibility(Lifecycle.Read) + friendlyName?: string; + + /** + * Host/Cluster Name for instance or AG + */ + serverName?: string; + + /** + * Parent name of the DB such as Instance or Availability Group. + */ + parentName?: string; + + /** + * Parent type of protected item, example: for a DB, standalone server or distributed + */ + parentType?: string; + + /** + * Backup status of this backup item. + */ + @visibility(Lifecycle.Read) + protectionStatus?: string; + + /** + * Backup state of this backup item. + */ + protectionState?: ProtectionState; + + /** + * Last backup operation status. Possible values: Healthy, Unhealthy. + */ + lastBackupStatus?: LastBackupStatus; + + /** + * Timestamp of the last backup operation on this backup item. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastBackupTime?: utcDateTime; + + /** + * Error details in last backup + */ + lastBackupErrorDetail?: ErrorDetail; + + /** + * Data ID of the protected item. + */ + protectedItemDataSourceId?: string; + + /** + * Health status of the backup item, evaluated based on last heartbeat received + */ + protectedItemHealthStatus?: ProtectedItemHealthStatus; + + /** + * Additional information for this backup item. + */ + extendedInfo?: AzureVmWorkloadProtectedItemExtendedInfo; + + /** + * Health details of different KPIs + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + kpisHealths?: Record; + + /** + * List of the nodes in case of distributed container. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + nodesList?: DistributedNodesInfo[]; +} + +/** + * Additional information on Azure Workload for SQL specific backup item. + */ +model AzureVmWorkloadProtectedItemExtendedInfo { + /** + * The oldest backup copy available for this backup item across all tiers. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * The oldest backup copy available for this backup item in vault tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPointInVault?: utcDateTime; + + /** + * The oldest backup copy available for this backup item in archive tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPointInArchive?: utcDateTime; + + /** + * The latest backup copy available for this backup item in archive tier + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + newestRecoveryPointInArchive?: utcDateTime; + + /** + * Number of backup copies available for this backup item. + */ + recoveryPointCount?: int32; + + /** + * Indicates consistency of policy object and policy applied to this backup item. + */ + policyState?: string; + + /** + * Indicates consistency of policy object and policy applied to this backup item. + */ + recoveryModel?: string; +} + +/** + * This is used to represent the various nodes of the distributed container. + */ +model DistributedNodesInfo { + /** + * Name of the node under a distributed container. + */ + nodeName?: string; + + /** + * Status of this Node. + * Failed | Succeeded + */ + status?: string; + + /** + * Error Details if the Status is non-success. + */ + errorDetail?: ErrorDetail; + + /** + * ARM resource id of the node + */ + sourceResourceId?: string; +} + +/** + * Azure VM workload-specific protected item representing SAP ASE Database. + */ +model AzureVmWorkloadSAPAseDatabaseProtectedItem extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureVmWorkloadSAPAseDatabase"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Azure VM workload-specific protected item representing SAP HANA Database. + */ +model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureVmWorkloadSAPHanaDatabase"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Azure VM workload-specific protected item representing SAP HANA DBInstance. + */ +model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureVmWorkloadSAPHanaDBInstance"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Azure VM workload-specific protected item representing SQL Database. + */ +model AzureVmWorkloadSQLDatabaseProtectedItem extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureVmWorkloadSQLDatabase"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Azure storage specific error information + */ +model AzureWorkloadErrorInfo { + /** + * Error code. + */ + errorCode?: int32; + + /** + * Localized error string. + */ + errorString?: string; + + /** + * Title: Typically, the entity that the error pertains to. + */ + errorTitle?: string; + + /** + * List of localized recommendations for above error code. + */ + recommendations?: string[]; + + /** + * Additional details for above error code. + */ + additionalDetails?: string; +} + +/** + * Azure storage specific job. + */ +model AzureWorkloadJob extends Job { + /** + * Workload type of the job + */ + workloadType?: string; + + /** + * Time elapsed during the execution of this job. + */ + duration?: duration; + + /** + * Gets or sets the state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Error details on execution of this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["errorCode"]) + errorDetails?: AzureWorkloadErrorInfo[]; + + /** + * Additional information about the job. + */ + extendedInfo?: AzureWorkloadJobExtendedInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "AzureWorkloadJob"; +} + +/** + * Azure VM workload-specific additional information for job. + */ +model AzureWorkloadJobExtendedInfo { + /** + * List of tasks for this job + */ + @OpenAPI.extension("x-ms-identifiers", #["taskId"]) + tasksList?: AzureWorkloadJobTaskDetails[]; + + /** + * Job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Non localized error message on job execution. + */ + dynamicErrorMessage?: string; +} + +/** + * Azure VM workload specific job task details. + */ +model AzureWorkloadJobTaskDetails { + /** + * The task display name. + */ + taskId?: string; + + /** + + * The status. + */ + status?: string; +} + +alias AzureWorkloadPointInTimeRecoveryPointProperties = { + /** + * List of log ranges + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + timeRanges?: PointInTimeRange[]; +}; + +/** + * Recovery point specific to PointInTime + */ +model AzureWorkloadPointInTimeRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadPointInTimeRecoveryPoint"; + + ...AzureWorkloadPointInTimeRecoveryPointProperties; +} + +/** + * Provides details for log ranges + */ +model PointInTimeRange { + /** + * Start time of the time range for log recovery. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * End time of the time range for log recovery. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; +} + +alias AzureWorkloadRecoveryPointProperties = { + /** + * UTC time at which recovery point was created + */ + recoveryPointTimeInUTC?: utcDateTime; + + /** + * Type of restore point + */ + type?: RestorePointType; + + /** + * Recovery point tier information. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + recoveryPointTierDetails?: RecoveryPointTierInformationV2[]; + + /** + * Eligibility of RP to be moved to another tier + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + recoveryPointMoveReadinessInfo?: Record; + + /** + * Properties of Recovery Point + */ + recoveryPointProperties?: RecoveryPointProperties; +}; + +/** + * Workload specific recovery point, specifically encapsulates full/diff recovery point + */ +model AzureWorkloadRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadRecoveryPoint"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * RecoveryPoint Tier Information V2 + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model RecoveryPointTierInformationV2 extends RecoveryPointTierInformation { + /** + * Recovery point tier type. + */ + type?: RecoveryPointTierType; + + /** + * Recovery point tier status. + */ + status?: RecoveryPointTierStatus; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model RecoveryPointMoveReadinessInfo { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + isReadyForMove?: boolean; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + additionalInfo?: string; +} + +/** + * AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore + */ +model AzureWorkloadPointInTimeRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadPointInTimeRestoreRequest"; + + /** + * PointInTime value + */ + pointInTime?: utcDateTime; + + ...AzureWorkloadRestoreRequestProperties; +} + +alias AzureWorkloadRestoreRequestProperties = { + /** + * Type of this recovery. + */ + recoveryType?: RecoveryType; + + /** + * Fully qualified ARM ID of the VM on which workload that was running is being recovered. + */ + sourceResourceId?: string; + + /** + * Workload specific property bag. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Details of target database + */ + targetInfo?: TargetRestoreInfo; + + /** + * Defines whether the current recovery mode is file restore or database restore + */ + recoveryMode?: RecoveryMode; + + /** + * Defines the Resource group of the Target VM + */ + targetResourceGroupName?: string; + + /** + * User Assigned managed identity details + * Currently used for snapshot. + */ + userAssignedManagedIdentityDetails?: UserAssignedManagedIdentityDetails; + + /** + * Additional details for snapshot recovery + * Currently used for snapshot for SAP Hana. + */ + snapshotRestoreParameters?: SnapshotRestoreParameters; + + /** + * This is the complete ARM Id of the target VM + * For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} + */ + targetVirtualMachineId?: string; +}; + +/** + * AzureWorkload-specific restore. + */ +model AzureWorkloadRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadRestoreRequest"; + + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * Details about target workload during restore operation. + */ +model TargetRestoreInfo { + /** + * Can Overwrite if Target DataBase already exists + */ + overwriteOption?: OverwriteOptions; + + /** + * Resource Id name of the container in which Target DataBase resides + */ + containerId?: string; + + /** + * Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana + */ + databaseName?: string; + + /** + * Target directory location for restore as files. + */ + targetDirectoryForFileRestore?: string; +} + +/** + * Encapsulates information regarding snapshot recovery for SAP Hana + */ +model SnapshotRestoreParameters { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + skipAttachAndMount?: boolean; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + logPointInTimeForDBRecovery?: string; +} + +/** + * Recovery point specific to PointInTime in SAPHana + */ +model AzureWorkloadSAPHanaPointInTimeRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"; + + ...AzureWorkloadPointInTimeRecoveryPointProperties; +} + +alias AzureWorkloadSAPHanaPointInTimeRestoreRequestProperties = { + /** + * PointInTime value + */ + pointInTime?: utcDateTime; +}; + +/** + * AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore + */ +model AzureWorkloadSAPHanaPointInTimeRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaPointInTimeRestoreRequest"; + + ...AzureWorkloadSAPHanaPointInTimeRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * AzureWorkload SAP Hana-specific restore. + */ +model AzureWorkloadSAPHanaRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaRestoreRequest"; + + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints + */ +model AzureWorkloadSAPHanaRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaRecoveryPoint"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Recovery point specific to PointInTime in SAPAse + */ +model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPAsePointInTimeRecoveryPoint"; + + ...AzureWorkloadPointInTimeRecoveryPointProperties; +} + +/** + * AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore + */ +model AzureWorkloadSAPAsePointInTimeRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPAsePointInTimeRestoreRequest"; + + /** + * PointInTime value + */ + pointInTime?: utcDateTime; + + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * AzureWorkload SAP Ase-specific restore. + */ +model AzureWorkloadSAPAseRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPAseRestoreRequest"; + + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints + */ +model AzureWorkloadSAPAseRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPAseRecoveryPoint"; + + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Recovery point specific to PointInTime + */ +model AzureWorkloadSQLPointInTimeRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLPointInTimeRecoveryPoint"; + + /** + * List of log ranges + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + timeRanges?: PointInTimeRange[]; + + ...AzureWorkloadSQLRecoveryPointProperties; + ...AzureWorkloadRecoveryPointProperties; +} + +alias AzureWorkloadSQLRecoveryPointProperties = { + /** + * Extended Info that provides data directory details. Will be populated in two cases: + * When a specific recovery point is accessed using GetRecoveryPoint + * Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter + */ + extendedInfo?: AzureWorkloadSQLRecoveryPointExtendedInfo; +}; + +/** + * SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info + */ +model AzureWorkloadSQLRecoveryPoint extends RecoveryPoint { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLRecoveryPoint"; + + ...AzureWorkloadSQLRecoveryPointProperties; + ...AzureWorkloadRecoveryPointProperties; +} + +/** + * Extended info class details + */ +model AzureWorkloadSQLRecoveryPointExtendedInfo { + /** + * UTC time at which data directory info was captured + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + dataDirectoryTimeInUTC?: utcDateTime; + + /** + * List of data directory paths during restore operation. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + dataDirectoryPaths?: SQLDataDirectory[]; +} + +/** + * SQLDataDirectory info + */ +model SQLDataDirectory { + /** + * Type of data directory mapping + */ + type?: SQLDataDirectoryType; + + /** + * File path + */ + path?: string; + + /** + * Logical name of the file + */ + logicalName?: string; +} + +alias AzureWorkloadSQLPointInTimeRestoreRequestProperties = { + /** + * PointInTime value + */ + pointInTime?: utcDateTime; +}; + +/** + * AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore + */ +model AzureWorkloadSQLPointInTimeRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLPointInTimeRestoreRequest"; + + ...AzureWorkloadSQLPointInTimeRestoreRequestProperties; + ...AzureWorkloadSQLRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +alias AzureWorkloadSQLRestoreRequestProperties = { + /** + * Default option set to true. If this is set to false, alternate data directory must be provided + */ + shouldUseAlternateTargetLocation?: boolean; + + /** + * SQL specific property where user can chose to set no-recovery when restore operation is tried + */ + isNonRecoverable?: boolean; + + /** + * Data directory details + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + alternateDirectoryPaths?: SQLDataDirectoryMapping[]; +}; + +/** + * AzureWorkload SQL -specific restore. Specifically for full/diff restore + */ +model AzureWorkloadSQLRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLRestoreRequest"; + + ...AzureWorkloadSQLRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * Encapsulates information regarding data directory + */ +model SQLDataDirectoryMapping { + /** + * Type of data directory mapping + */ + mappingType?: SQLDataDirectoryType; + + /** + * Restore source logical name path + */ + sourceLogicalName?: string; + + /** + * Restore source path + */ + sourcePath?: string; + + /** + * Target path + */ + targetPath?: string; +} + +/** + * BEK is bitlocker encryption key. + */ +model BEKDetails { + /** + * Secret is BEK. + */ + secretUrl?: string; + + /** + * ID of the Key Vault where this Secret is stored. + */ + secretVaultId?: string; + + /** + * BEK data. + */ + secretData?: string; +} + +/** + * Filters to list backup copies. + */ +model BmsrpQueryObject { + /** + * Backup copies created after this time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startDate?: utcDateTime; + + /** + * Backup copies created before this time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endDate?: utcDateTime; + + /** + * RestorePoint type + */ + restorePointQueryType?: RestorePointQueryType; + + /** + * In Get Recovery Point, it tells whether extended information about recovery point is asked. + */ + extendedInfo?: boolean; + + /** + * Whether the RP can be moved to another tier + */ + moveReadyRPOnly?: boolean; + + /** + * Flag to indicate whether Soft Deleted RPs should be included/excluded from result. + */ + includeSoftDeletedRP?: boolean; +} + +/** + * Disk information + */ +model DiskInformation { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + lun?: int32; + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + name?: string; +} + +/** + * Daily retention format. + */ +model DailyRetentionFormat { + /** + * List of days of the month. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + daysOfTheMonth?: Day[]; +} + +/** + * Day of the week. + */ +model Day { + /** + * Date of the month + */ + date?: int32; + + /** + * Whether Date is last date of month + */ + isLast?: boolean; +} + +/** + * Daily retention schedule. + */ +model DailyRetentionSchedule { + /** + * Retention times of retention policy. + */ + retentionTimes?: utcDateTime[]; + + /** + * Retention duration of retention Policy. + */ + retentionDuration?: RetentionDuration; +} + +/** + * Retention duration. + */ +model RetentionDuration { + /** + * Count of duration types. Retention duration is obtained by the counting the duration type Count times. + * For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks. + */ + count?: int32; + + /** + * Retention duration type of retention policy. + */ + durationType?: RetentionDurationType; +} + +/** + * DPM workload-specific error information. + */ +model DpmErrorInfo { + /** + * Localized error string. + */ + errorString?: string; + + /** + * List of localized recommendations for above error code. + */ + recommendations?: string[]; +} + +/** + * DPM workload-specific job object. + */ +model DpmJob extends Job { + /** + * Time elapsed for job. + */ + duration?: duration; + + /** + * DPM server name managing the backup item or backup job. + */ + dpmServerName?: string; + + /** + * Name of cluster/server protecting current backup item, if any. + */ + containerName?: string; + + /** + * Type of container. + */ + containerType?: string; + + /** + * Type of backup item. + */ + workloadType?: string; + + /** + * The state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * The errors. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + errorDetails?: DpmErrorInfo[]; + + /** + * Additional information for this job. + */ + extendedInfo?: DpmJobExtendedInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "DpmJob"; +} + +/** + * Additional information on the DPM workload-specific job. + */ +model DpmJobExtendedInfo { + /** + * List of tasks associated with this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["taskId"]) + tasksList?: DpmJobTaskDetails[]; + + /** + * The job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Non localized error message on job execution. + */ + dynamicErrorMessage?: string; +} + +/** + * DPM workload-specific job task details. + */ +model DpmJobTaskDetails { + /** + * The task display name. + */ + taskId?: string; + + /** + * The start time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * The end time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; + + /** + * Time elapsed for task. + */ + duration?: duration; + + /** + * The status. + */ + status?: string; +} + +/** + * Additional information on Backup engine specific backup item. + */ +model DPMProtectedItem extends ProtectedItem { + /** + * Friendly name of the managed item + */ + friendlyName?: string; + + /** + * Backup Management server protecting this backup item + */ + backupEngineName?: string; + + /** + * Protection state of the backup engine + */ + protectionState?: ProtectedItemState; + + /** + * Extended info of the backup item. + */ + extendedInfo?: DPMProtectedItemExtendedInfo; + + /** + * backup item type. + */ + protectedItemType: "DPMProtectedItem"; +} + +/** + * Additional information of DPM Protected item. + */ +model DPMProtectedItemExtendedInfo { + /** + * Attribute to provide information on various DBs. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + protectableObjectLoadPath?: Record; + + /** + * To check if backup item is disk protected. + */ + protected?: boolean; + + /** + * To check if backup item is cloud protected. + */ + isPresentOnCloud?: boolean; + + /** + * Last backup status information on backup item. + */ + lastBackupStatus?: string; + + /** + * Last refresh time on backup item. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRefreshedAt?: utcDateTime; + + /** + * Oldest cloud recovery point time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * cloud recovery point count. + */ + recoveryPointCount?: int32; + + /** + * Oldest disk recovery point time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + onPremiseOldestRecoveryPoint?: utcDateTime; + + /** + * latest disk recovery point time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + onPremiseLatestRecoveryPoint?: utcDateTime; + + /** + * disk recovery point count. + */ + onPremiseRecoveryPointCount?: int32; + + /** + * To check if backup item is collocated. + */ + isCollocated?: boolean; + + /** + * Protection group name of the backup item. + */ + protectionGroupName?: string; + + /** + * Used Disk storage in bytes. + */ + diskStorageUsedInBytes?: string; + + /** + * total Disk storage in bytes. + */ + totalDiskStorageSizeInBytes?: string; +} + +/** + * Details needed if the VM was encrypted at the time of backup. + */ +model EncryptionDetails { + /** + * Identifies whether this backup copy represents an encrypted VM at the time of backup. + */ + encryptionEnabled?: boolean; + + /** + * Key Url. + */ + kekUrl?: string; + + /** + * Secret Url. + */ + secretKeyUrl?: string; + + /** + * ID of Key Vault where KEK is stored. + */ + kekVaultId?: string; + + /** + * ID of Key Vault where Secret is stored. + */ + secretKeyVaultId?: string; +} + +/** + * This class is used to send blob details after exporting jobs. + */ +model ExportJobsOperationResultInfo extends OperationResultInfoBase { + /** + * URL of the blob into which the serialized string of list of jobs is exported. + */ + blobUrl?: string; + + /** + * SAS key to access the blob. It expires in 15 mins. + */ + blobSasKey?: string; + + /** + * URL of the blob into which the ExcelFile is uploaded. + */ + excelFileBlobUrl?: string; + + /** + * SAS key to access the blob. It expires in 15 mins. + */ + excelFileBlobSasKey?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "ExportJobsOperationResultInfo"; +} + +/** + * Azure VM (Mercury) workload-specific backup policy. + */ +model GenericProtectionPolicy extends ProtectionPolicy { + /** + * List of sub-protection policies which includes schedule and retention + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + subProtectionPolicy?: SubProtectionPolicy[]; + + /** + * TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". + */ + timeZone?: string; + + /** + * Name of this policy's fabric. + */ + fabricName?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "GenericProtectionPolicy"; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model HourlySchedule { + /** + * Interval at which backup needs to be triggered. For hourly the value + * can be 4/6/8/12 + */ + interval?: int32; + + /** + * To specify start time of the backup window + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + scheduleWindowStartTime?: utcDateTime; + + /** + * To specify duration of the backup window + */ + scheduleWindowDuration?: int32; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model DailySchedule { + /** + * List of times of day this schedule has to be run. + */ + scheduleRunTimes?: utcDateTime[]; +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +model WeeklySchedule { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + scheduleRunDays?: DayOfWeek[]; + + /** + * List of times of day this schedule has to be run. + */ + scheduleRunTimes?: utcDateTime[]; +} + +/** + * IaaS VM workload specific restore details for restores using managed identity + */ +model IdentityBasedRestoreDetails { + /** + * Gets the class type. + */ + objectType?: string; + + /** + * Fully qualified ARM ID of the target storage account. + */ + targetStorageAccountId?: string; +} + +/** + * Encapsulates Managed Identity related information + */ +model IdentityInfo { + /** + * To differentiate if the managed identity is system assigned or user assigned + */ + isSystemAssignedIdentity?: boolean; + + /** + * Managed Identity Resource Id + * Optional: Might not be required in the case of system assigned managed identity + */ + managedIdentityResourceId?: string; +} + +/** + * Base class for backup items. + */ +model GenericProtectedItem extends ProtectedItem { + /** + * Friendly name of the container. + */ + friendlyName?: string; + + /** + * Indicates consistency of policy object and policy applied to this backup item. + */ + policyState?: string; + + /** + * Backup state of this backup item. + */ + protectionState?: ProtectionState; + + /** + * Data Plane Service ID of the protected item. + */ + protectedItemId?: int64; + + /** + * Loosely coupled (type, value) associations (example - parent of a protected item) + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + sourceAssociations?: Record; + + /** + * Name of this backup item's fabric. + */ + fabricName?: string; + + /** + * backup item type. + */ + protectedItemType: "GenericProtectedItem"; +} + +/** + * Generic backup copy. + */ +model GenericRecoveryPoint extends RecoveryPoint { + /** + * Friendly name of the backup copy. + */ + friendlyName?: string; + + /** + * Type of the backup copy. + */ + recoveryPointType?: string; + + /** + * Time at which this backup copy was created. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointTime?: utcDateTime; + + /** + * Additional information associated with this backup copy. + */ + recoveryPointAdditionalInfo?: string; + + /** + * Properties of Recovery Point + */ + recoveryPointProperties?: RecoveryPointProperties; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "GenericRecoveryPoint"; +} + +/** + * Filters to list backup items. + */ +model GetProtectedItemQueryObject { + /** + * Specifies if the additional information should be provided for this item. + */ + expand?: string; +} + +/** + * IaaS VM workload specific backup copy. + */ +model IaasVMRecoveryPoint extends RecoveryPoint { + /** + * Type of the backup copy. + */ + recoveryPointType?: string; + + /** + * Time at which this backup copy was created. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointTime?: utcDateTime; + + /** + * Additional information associated with this backup copy. + */ + recoveryPointAdditionalInfo?: string; + + /** + * Storage type of the VM whose backup copy is created. + */ + sourceVMStorageType?: string; + + /** + * Identifies whether the VM was encrypted when the backup copy is created. + */ + isSourceVMEncrypted?: boolean; + + /** + * Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true. + */ + keyAndSecret?: KeyAndSecretDetails; + + /** + * Is the session to recover items from this backup copy still active. + */ + isInstantIlrSessionActive?: boolean; + + /** + * Recovery point tier information. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + recoveryPointTierDetails?: RecoveryPointTierInformationV2[]; + + /** + * Whether VM is with Managed Disks + */ + isManagedVirtualMachine?: boolean; + + /** + * Virtual Machine Size + */ + virtualMachineSize?: string; + + /** + * Original Storage Account Option + */ + originalStorageAccountOption?: boolean; + + /** + * OS type + */ + osType?: string; + + /** + * Disk configuration + */ + recoveryPointDiskConfiguration?: RecoveryPointDiskConfiguration; + + /** + * Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms + */ + zones?: string[]; + + /** + * Eligibility of RP to be moved to another tier + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + recoveryPointMoveReadinessInfo?: Record; + + /** + * Security Type of the Disk + */ + securityType?: string; + + /** + * Properties of Recovery Point + */ + recoveryPointProperties?: RecoveryPointProperties; + + /** + * This flag denotes if any of the disks in the VM are using Private access network setting + */ + isPrivateAccessEnabledOnAnyDisk?: boolean; + + /** + * Extended location of the VM recovery point, + * should be null if VM is in public cloud + */ + extendedLocation?: ExtendedLocation; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "IaasVMRecoveryPoint"; +} + +/** + * BEK is bitlocker key. + * KEK is encryption key for BEK + * If the VM was encrypted then we will store following details : + * 1. Secret(BEK) - Url + Backup Data + vaultId. + * 2. Key(KEK) - Url + Backup Data + vaultId. + * 3. EncryptionMechanism + * BEK and KEK can potentially have different vault ids. + */ +model KeyAndSecretDetails { + /** + * KEK is encryption key for BEK. + */ + kekDetails?: KEKDetails; + + /** + * BEK is bitlocker encryption key. + */ + bekDetails?: BEKDetails; + + /** + * Encryption mechanism: None/ SinglePass/ DoublePass + */ + encryptionMechanism?: string; +} + +/** + * KEK is encryption key for BEK. + */ +model KEKDetails { + /** + * Key is KEK. + */ + keyUrl?: string; + + /** + * Key Vault ID where this Key is stored. + */ + keyVaultId?: string; + + /** + * KEK data. + */ + keyBackupData?: string; +} + +/** + * Disk configuration + */ +model RecoveryPointDiskConfiguration { + /** + * Number of disks included in backup + */ + numberOfDisksIncludedInBackup?: int32; + + /** + * Number of disks attached to the VM + */ + numberOfDisksAttachedToVm?: int32; + + /** + * Information of disks included in backup + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + includedDiskList?: DiskInformation[]; + + /** + * Information of disks excluded from backup + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + excludedDiskList?: DiskInformation[]; +} + +/** + * The extended location of Recovery point where VM was present. + */ +model ExtendedLocation { + /** + * Name of the extended location. + */ + name?: string; + + /** + * Type of the extended location. Possible values include: 'EdgeZone' + */ + type?: string; +} + +/** + * Restore request parameters for Secured VMs + */ +model SecuredVMDetails { + /** + * Gets or Sets Disk Encryption Set Id for Secured VM OS Disk + */ + securedVMOsDiskEncryptionSetId?: string; +} + +/** + * Specifies target network access settings for disks of VM to be restored. + */ +model TargetDiskNetworkAccessSettings { + /** + * Network access settings to be used for restored disks + */ + targetDiskNetworkAccessOption?: TargetDiskNetworkAccessOption; + + /** + * Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew + */ + targetDiskAccessId?: string; +} + +alias IaasVMRestoreRequestProperties = { + /** + * ID of the backup copy to be recovered. + */ + recoveryPointId?: string; + + /** + * Type of this recovery. + */ + recoveryType?: RecoveryType; + + /** + * Fully qualified ARM ID of the VM which is being recovered. + */ + sourceResourceId?: string; + + /** + * This is the complete ARM Id of the VM that will be created. + * For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} + */ + targetVirtualMachineId?: string; + + /** + * This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts. + * For e.g. /subscriptions/{subId}/resourcegroups/{rg} + */ + targetResourceGroupId?: string; + + /** + * Fully qualified ARM ID of the storage account to which the VM has to be restored. + */ + storageAccountId?: string; + + /** + * This is the virtual network Id of the vnet that will be attached to the virtual machine. + * User will be validated for join action permissions in the linked access. + */ + virtualNetworkId?: string; + + /** + * Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be + * {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent + * the subnet. + */ + subnetId?: string; + + /** + * Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic + * Virtual Machines. + */ + targetDomainNameId?: string; + + /** + * Region in which the virtual machine is restored. + */ + region?: string; + + /** + * Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines. + */ + affinityGroup?: string; + + /** + * Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same + * cloud service as it was at the time of backup. + */ + createNewCloudService?: boolean; + + /** + * Original Storage Account Option + */ + originalStorageAccountOption?: boolean; + + /** + * Details needed if the VM was encrypted at the time of backup. + */ + encryptionDetails?: EncryptionDetails; + + /** + * List of Disk LUNs for partial restore + */ + restoreDiskLunList?: int32[]; + + /** + * Flag to denote of an Unmanaged disk VM should be restored with Managed disks. + */ + restoreWithManagedDisks?: boolean; + + /** + * DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key. + */ + diskEncryptionSetId?: string; + + /** + * Target zone where the VM and its disks should be restored. + */ + zones?: string[]; + + /** + * Managed Identity information required to access customer storage account. + */ + identityInfo?: IdentityInfo; + + /** + * IaaS VM workload specific restore details for restores using managed identity. + */ + identityBasedRestoreDetails?: IdentityBasedRestoreDetails; + + /** + * Target extended location where the VM should be restored, + * should be null if restore is to be done in public cloud + */ + extendedLocation?: ExtendedLocation; + + /** + * Stores Secured VM Details + */ + securedVMDetails?: SecuredVMDetails; + + /** + * Specifies target network access settings for disks of VM to be restored, + */ + targetDiskNetworkAccessSettings?: TargetDiskNetworkAccessSettings; +}; + +/** + * IaaS VM workload-specific restore. + */ +model IaasVMRestoreRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "IaasVMRestoreRequest"; + + ...IaasVMRestoreRequestProperties; +} + +/** + * Filters to list the jobs. + */ +model JobQueryObject { + /** + * Status of the job. + */ + status?: JobStatus; + + /** + * Type of backup management for the job. + */ + backupManagementType?: BackupManagementType; + + /** + * Type of operation. + */ + operation?: JobOperationType; + + /** + * JobID represents the job uniquely. + */ + jobId?: string; + + /** + * Job has started at this time. Value is in UTC. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * Job has ended at this time. Value is in UTC. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; +} + +/** + * Log policy schedule. + */ +model LogSchedulePolicy extends SchedulePolicy { + /** + * Frequency of the log schedule operation of this policy in minutes. + */ + scheduleFrequencyInMins?: int32; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + schedulePolicyType: "LogSchedulePolicy"; +} + +/** + * Long term retention policy. + */ +model LongTermRetentionPolicy extends RetentionPolicy { + /** + * Daily retention schedule of the protection policy. + */ + dailySchedule?: DailyRetentionSchedule; + + /** + * Weekly retention schedule of the protection policy. + */ + weeklySchedule?: WeeklyRetentionSchedule; + + /** + * Monthly retention schedule of the protection policy. + */ + monthlySchedule?: MonthlyRetentionSchedule; + + /** + * Yearly retention schedule of the protection policy. + */ + yearlySchedule?: YearlyRetentionSchedule; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + retentionPolicyType: "LongTermRetentionPolicy"; +} + +/** + * Weekly retention schedule. + */ +model WeeklyRetentionSchedule { + /** + * List of days of week for weekly retention policy. + */ + daysOfTheWeek?: DayOfWeek[]; + + /** + * Retention times of retention policy. + */ + retentionTimes?: utcDateTime[]; + + /** + * Retention duration of retention Policy. + */ + retentionDuration?: RetentionDuration; +} + +/** + * Monthly retention schedule. + */ +model MonthlyRetentionSchedule { + /** + * Retention schedule format type for monthly retention policy. + */ + retentionScheduleFormatType?: RetentionScheduleFormat; + + /** + * Daily retention format for monthly retention policy. + */ + retentionScheduleDaily?: DailyRetentionFormat; + + /** + * Weekly retention format for monthly retention policy. + */ + retentionScheduleWeekly?: WeeklyRetentionFormat; + + /** + * Retention times of retention policy. + */ + retentionTimes?: utcDateTime[]; + + /** + * Retention duration of retention Policy. + */ + retentionDuration?: RetentionDuration; +} + +/** + * Weekly retention format. + */ +model WeeklyRetentionFormat { + /** + * List of days of the week. + */ + daysOfTheWeek?: DayOfWeek[]; + + /** + * List of weeks of month. + */ + weeksOfTheMonth?: WeekOfMonth[]; +} + +/** + * Yearly retention schedule. + */ +model YearlyRetentionSchedule { + /** + * Retention schedule format for yearly retention policy. + */ + retentionScheduleFormatType?: RetentionScheduleFormat; + + /** + * List of months of year of yearly retention policy. + */ + monthsOfYear?: MonthOfYear[]; + + /** + * Daily retention format for yearly retention policy. + */ + retentionScheduleDaily?: DailyRetentionFormat; + + /** + * Weekly retention format for yearly retention policy. + */ + retentionScheduleWeekly?: WeeklyRetentionFormat; + + /** + * Retention times of retention policy. + */ + retentionTimes?: utcDateTime[]; + + /** + * Retention duration of retention Policy. + */ + retentionDuration?: RetentionDuration; +} + +/** + * Long term policy schedule. + */ +model LongTermSchedulePolicy extends SchedulePolicy { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + schedulePolicyType: "LongTermSchedulePolicy"; +} + +/** + * MAB workload-specific error information. + */ +model MabErrorInfo { + /** + * Localized error string. + */ + @visibility(Lifecycle.Read) + errorString?: string; + + /** + * List of localized recommendations. + */ + @visibility(Lifecycle.Read) + recommendations?: string[]; +} + +/** + * MAB workload-specific backup item. + */ +model MabFileFolderProtectedItem extends ProtectedItem { + /** + * Friendly name of this backup item. + */ + friendlyName?: string; + + /** + * Name of the computer associated with this backup item. + */ + computerName?: string; + + /** + * Status of last backup operation. + */ + lastBackupStatus?: string; + + /** + * Timestamp of the last backup operation on this backup item. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastBackupTime?: utcDateTime; + + /** + * Protected, ProtectionStopped, IRPending or ProtectionError + */ + protectionState?: string; + + /** + * Sync time for deferred deletion in UTC + */ + deferredDeleteSyncTimeInUTC?: int64; + + /** + * Additional information with this backup item. + */ + extendedInfo?: MabFileFolderProtectedItemExtendedInfo; + + /** + * backup item type. + */ + protectedItemType: "MabFileFolderProtectedItem"; +} + +/** + * Additional information on the backed up item. + */ +model MabFileFolderProtectedItemExtendedInfo { + /** + * Last time when the agent data synced to service. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRefreshedAt?: utcDateTime; + + /** + * The oldest backup copy available. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + oldestRecoveryPoint?: utcDateTime; + + /** + * Number of backup copies associated with the backup item. + */ + recoveryPointCount?: int32; +} + +/** + * MAB workload-specific job. + */ +model MabJob extends Job { + /** + * Time taken by job to run. + */ + duration?: duration; + + /** + * The state/actions applicable on jobs like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Name of server protecting the DS. + */ + mabServerName?: string; + + /** + * Server type of MAB container. + */ + mabServerType?: MabServerType; + + /** + * Workload type of backup item. + */ + workloadType?: WorkloadType; + + /** + * The errors. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + errorDetails?: MabErrorInfo[]; + + /** + * Additional information on the job. + */ + extendedInfo?: MabJobExtendedInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "MabJob"; +} + +/** + * Additional information for the MAB workload-specific job. + */ +model MabJobExtendedInfo { + /** + * List of tasks for this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["taskId"]) + tasksList?: MabJobTaskDetails[]; + + /** + * The job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; + + /** + * Non localized error message specific to this job. + */ + dynamicErrorMessage?: string; +} + +/** + * MAB workload-specific job task details. + */ +model MabJobTaskDetails { + /** + * The task display name. + */ + taskId?: string; + + /** + * The start time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + startTime?: utcDateTime; + + /** + * The end time. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + endTime?: utcDateTime; + + /** + * Time elapsed for task. + */ + duration?: duration; + + /** + * The status. + */ + status?: string; +} + +/** + * Mab container-specific backup policy. + */ +model MabProtectionPolicy extends ProtectionPolicy { + /** + * Backup schedule of backup policy. + */ + schedulePolicy?: SchedulePolicy; + + /** + * Retention policy details. + */ + retentionPolicy?: RetentionPolicy; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + backupManagementType: "MAB"; +} + +/** + * Operation result info. + */ +model OperationResultInfo extends OperationResultInfoBase { + /** + * List of jobs created by this operation. + */ + jobList?: string[]; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "OperationResultInfo"; +} + +/** + * Prepare DataMove Response + */ +model PrepareDataMoveResponse + extends VaultStorageConfigOperationResultResponse { + /** + * Co-relationId for move operation + */ + correlationId?: string; + + /** + * Source Vault Properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + sourceVaultProperties?: Record; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "PrepareDataMoveResponse"; +} + +/** + * Filters to list backup items. + */ +model ProtectedItemQueryObject { + /** + * Health State for the backed up item. + */ + healthState?: HealthState; + + /** + * Backup management type for the backed up item. + */ + backupManagementType?: BackupManagementType; + + /** + * Type of workload this item represents. + */ + itemType?: DataSourceType; + + /** + * Backup policy name associated with the backup item. + */ + policyName?: string; + + /** + * Name of the container. + */ + containerName?: string; + + /** + * Backup Engine name + */ + backupEngineName?: string; + + /** + * Friendly name of protected item + */ + friendlyName?: string; + + /** + * Name of the fabric. + */ + fabricName?: string; + + /** + * Name of the backup set. + */ + backupSetName?: string; +} + +/** + * Filters the list backup policies API. + */ +model ProtectionPolicyQueryObject { + /** + * Backup management type for the backup policy. + */ + backupManagementType?: BackupManagementType; + + /** + * Fabric name for filter + */ + fabricName?: string; + + /** + * Workload type for the backup policy. + */ + workloadType?: WorkloadType; +} + +/** + * Simple policy retention. + */ +model SimpleRetentionPolicy extends RetentionPolicy { + /** + * Retention duration of the protection policy. + */ + retentionDuration?: RetentionDuration; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + retentionPolicyType: "SimpleRetentionPolicy"; +} + +/** + * Simple policy schedule. + */ +model SimpleSchedulePolicy extends SchedulePolicy { + /** + * Frequency of the schedule operation of this policy. + */ + scheduleRunFrequency?: ScheduleRunType; + + /** + * List of days of week this schedule has to be run. + */ + scheduleRunDays?: DayOfWeek[]; + + /** + * List of times of day this schedule has to be run. + */ + scheduleRunTimes?: utcDateTime[]; + + /** + * Hourly Schedule of this Policy + */ + hourlySchedule?: HourlySchedule; + + /** + * At every number weeks this schedule has to be run. + */ + scheduleWeeklyFrequency?: int32; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + schedulePolicyType: "SimpleSchedulePolicy"; +} + +/** + * The V2 policy schedule for IaaS that supports hourly backups. + */ +model SimpleSchedulePolicyV2 extends SchedulePolicy { + /** + * Frequency of the schedule operation of this policy. + */ + scheduleRunFrequency?: ScheduleRunType; + + /** + * hourly schedule of this policy + */ + hourlySchedule?: HourlySchedule; + + /** + * Daily schedule of this policy + */ + dailySchedule?: DailySchedule; + + /** + * Weekly schedule of this policy + */ + weeklySchedule?: WeeklySchedule; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + schedulePolicyType: "SimpleSchedulePolicyV2"; +} + +/** + * AzureRestoreValidation request. + */ +model ValidateIaasVMRestoreOperationRequest extends ValidateOperationRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "ValidateIaasVMRestoreOperationRequest"; + + ...ValidateRestoreOperationRequestProperties; +} + +alias ValidateRestoreOperationRequestProperties = { + /** + * Sets restore request to be validated + */ + restoreRequest?: RestoreRequest; +}; + +/** + * AzureRestoreValidation request. + */ +model ValidateRestoreOperationRequest extends ValidateOperationRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "ValidateRestoreOperationRequest"; + + ...ValidateRestoreOperationRequestProperties; +} + +/** + * Vault level Job + */ +model VaultJob extends Job { + /** + * Time elapsed during the execution of this job. + */ + duration?: duration; + + /** + * Gets or sets the state/actions applicable on this job like cancel/retry. + */ + actionsInfo?: JobSupportedAction[]; + + /** + * Error details on execution of this job. + */ + @OpenAPI.extension("x-ms-identifiers", #["errorCode"]) + errorDetails?: VaultJobErrorInfo[]; + + /** + * Additional information about the job. + */ + extendedInfo?: VaultJobExtendedInfo; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + jobType: "VaultJob"; +} + +/** + * Vault Job specific error information + */ +model VaultJobErrorInfo { + /** + * Error code. + */ + errorCode?: int32; + + /** + * Localized error string. + */ + errorString?: string; + + /** + * List of localized recommendations for above error code. + */ + recommendations?: string[]; +} + +/** + * Vault Job for CMK - has CMK specific info. + */ +model VaultJobExtendedInfo { + /** + * Job properties. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + propertyBag?: Record; +} + +/** + * AzureBackupServer (DPMVenus) workload-specific protection container. + */ +model AzureBackupServerContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.AzureBackupServerContainer; + + ...DpmContainerProperties; +} + +alias DpmContainerProperties = { + /** + * Specifies whether the container is re-registrable. + */ + canReRegister?: boolean; + + /** + * ID of container. + */ + containerId?: string; + + /** + * Number of protected items in the BackupEngine + */ + protectedItemCount?: int64; + + /** + * Backup engine Agent version + */ + dpmAgentVersion?: string; + + /** + * List of BackupEngines protecting the container + */ + dpmServers?: string[]; + + /** + * To check if upgrade available + */ + upgradeAvailable?: boolean; + + /** + * Protection status of the container. + */ + protectionStatus?: string; + + /** + * Extended Info of the container. + */ + extendedInfo?: DPMContainerExtendedInfo; +}; + +/** + * DPM workload-specific protection container. + */ +model DpmContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.DPMContainer; + + ...DpmContainerProperties; +} + +/** + * Additional information of the DPMContainer. + */ +model DPMContainerExtendedInfo { + /** + * Last refresh time of the DPMContainer. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRefreshedAt?: utcDateTime; +} + +/** + * Backup engine type when Azure Backup Server is used to manage the backups. + */ +model AzureBackupServerEngine extends BackupEngineBase { + /** + * Type of the backup engine. + */ + backupEngineType: "AzureBackupServerEngine"; +} + +/** + * AzureFileShare workload-specific backup request. + */ +model AzureFileShareBackupRequest extends BackupRequest { + /** + * Backup copy will expire after the time specified (UTC). + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointExpiryTimeInUTC?: utcDateTime; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureFileShareBackupRequest"; +} + +/** + * Protectable item for Azure Fileshare workloads. + */ +model AzureFileShareProtectableItem extends WorkloadProtectableItem { + /** + * Full Fabric ID of container to which this protectable item belongs. For example, ARM ID. + */ + parentContainerFabricId?: string; + + /** + * Friendly name of container to which this protectable item belongs. + */ + parentContainerFriendlyName?: string; + + /** + * File Share type XSync or XSMB. + */ + azureFileShareType?: AzureFileShareType; + + /** + * Type of the backup item. + */ + protectableItemType: "AzureFileShare"; +} + +/** + * Update snapshot Uri with the correct friendly Name of the source Azure file share. + */ +model AzureFileShareProvisionILRRequest extends ILRRequest { + /** + * Recovery point ID. + */ + recoveryPointId?: string; + + /** + * Source Storage account ARM Id + */ + sourceResourceId?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureFileShareProvisionILRRequest"; +} + +/** + * IaaS VM workload-specific backup item representing a classic virtual machine. + */ +model AzureIaaSClassicComputeVMContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.`Microsoft.ClassicCompute/virtualMachines`; + + ...IaaSVMContainerProperties; +} + +alias IaaSVMContainerProperties = { + /** + * Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. + */ + virtualMachineId?: string; + + /** + * Specifies whether the container represents a Classic or an Azure Resource Manager VM. + */ + virtualMachineVersion?: string; + + /** + * Resource group name of Recovery Services Vault. + */ + resourceGroup?: string; +}; + +/** + * IaaS VM workload-specific container. + */ +model IaaSVMContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.IaasVMContainer; + + ...IaaSVMContainerProperties; +} + +/** + * IaaS VM workload-specific backup item representing the Classic Compute VM. + */ +model AzureIaaSClassicComputeVMProtectableItem extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "Microsoft.ClassicCompute/virtualMachines"; + + ...IaaSVMProtectableItemProperties; +} + +alias IaaSVMProtectableItemProperties = { + /** + * Fully qualified ARM ID of the virtual machine. + */ + virtualMachineId?: string; + + /** + * Specifies whether the container represents a Classic or an Azure Resource Manager VM. + */ + virtualMachineVersion?: string; + + /** + * Resource group name of Recovery Services Vault. + */ + resourceGroup?: string; +}; + +/** + * IaaS VM workload-specific backup item. + */ +model IaaSVMProtectableItem extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "IaaSVMProtectableItem"; + + ...IaaSVMProtectableItemProperties; +} + +/** + * IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine. + */ +model AzureIaaSComputeVMContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.`Microsoft.Compute/virtualMachines`; + + ...IaaSVMContainerProperties; +} + +/** + * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. + */ +model AzureIaaSComputeVMProtectableItem extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "Microsoft.Compute/virtualMachines"; + + ...IaaSVMProtectableItemProperties; +} + +/** + * Container for SQL workloads under SQL Availability Group. + */ +model AzureSQLAGWorkloadContainerProtectionContainer + extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.SQLAGWorkLoadContainer; + + ...AzureWorkloadContainerProperties; +} + +alias AzureWorkloadContainerProperties = { + /** + * ARM ID of the virtual machine represented by this Azure Workload Container + */ + sourceResourceId?: string; + + /** + * Time stamp when this container was updated. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastUpdatedTime?: utcDateTime; + + /** + * Additional details of a workload container. + */ + extendedInfo?: AzureWorkloadContainerExtendedInfo; + + /** + * Workload type for which registration was sent. + */ + workloadType?: WorkloadType; + + /** + * Re-Do Operation + */ + operationType?: OperationType; +}; + +/** + * Container for the workloads running inside Azure Compute or Classic Compute. + */ +model AzureWorkloadContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.AzureWorkloadContainer; + + ...AzureWorkloadContainerProperties; +} + +/** + * Extended information of the container. + */ +model AzureWorkloadContainerExtendedInfo { + /** + * Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. + */ + hostServerName?: string; + + /** + * Inquiry Status for the container. + */ + inquiryInfo?: InquiryInfo; + + /** + * List of the nodes in case of distributed container. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + nodesList?: DistributedNodesInfo[]; +} + +/** + * Details about inquired protectable items under a given container. + */ +model InquiryInfo { + /** + * Inquiry Status for this container such as + * InProgress | Failed | Succeeded + */ + status?: string; + + /** + * Error Details if the Status is non-success. + */ + errorDetail?: ErrorDetail; + + /** + * Inquiry Details which will have workload specific details. + * For e.g. - For SQL and oracle this will contain different details. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + inquiryDetails?: WorkloadInquiryDetails[]; +} + +/** + * Details of an inquired protectable item. + */ +model WorkloadInquiryDetails { + /** + * Type of the Workload such as SQL, Oracle etc. + */ + type?: string; + + /** + * Contains the protectable item Count inside this Container. + */ + itemCount?: int64; + + /** + * Inquiry validation such as permissions and other backup validations. + */ + inquiryValidation?: InquiryValidation; +} + +/** + * Validation for inquired protectable items under a given container. + */ +model InquiryValidation { + /** + * Status for the Inquiry Validation. + */ + status?: string; + + /** + * Error Detail in case the status is non-success. + */ + errorDetail?: ErrorDetail; + + /** + * Error Additional Detail in case the status is non-success. + */ + @visibility(Lifecycle.Read) + additionalDetail?: string; + + /** + * Dictionary to store the count of ProtectableItems with key POType. + */ + @visibility(Lifecycle.Read) + protectableItemCount?: unknown; +} + +/** + * Azure Sql workload-specific container. + */ +model AzureSqlContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.AzureSqlContainer; +} + +/** + * Azure Storage Account workload-specific container. + */ +model AzureStorageContainer extends ProtectionContainer { + /** + * Fully qualified ARM url. + */ + sourceResourceId?: string; + + /** + * Storage account version. + */ + storageAccountVersion?: string; + + /** + * Resource group name of Recovery Services Vault. + */ + resourceGroup?: string; + + /** + * Number of items backed up in this container. + */ + protectedItemCount?: int64; + + /** + * Whether storage account lock is to be acquired for this container or not. + */ + acquireStorageAccountLock?: AcquireStorageAccountLock; + + /** + * Re-Do Operation + */ + operationType?: OperationType; + + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.StorageContainer; +} + +/** + * Azure Storage-specific protectable containers + */ +model AzureStorageProtectableContainer extends ProtectableContainer { + /** + * Type of the container. The value of this property for + * 1. Compute Azure VM is Microsoft.Compute/virtualMachines + * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines + */ + @visibility(Lifecycle.Read) + protectableContainerType: ProtectableContainerType.StorageContainer; +} + +/** + * Azure workload-specific container + */ +model AzureVMAppContainerProtectableContainer extends ProtectableContainer { + /** + * Type of the container. The value of this property for + * 1. Compute Azure VM is Microsoft.Compute/virtualMachines + * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines + */ + protectableContainerType: ProtectableContainerType.VMAppContainer; +} + +/** + * Container for SQL workloads under Azure Virtual Machines. + */ +model AzureVMAppContainerProtectionContainer extends ProtectionContainer { + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.VMAppContainer; + + ...AzureWorkloadContainerProperties; +} + +alias AzureVmWorkloadItemProperties = { + /** + * Name for instance or AG + */ + parentName?: string; + + /** + * Host/Cluster Name for instance or AG + */ + serverName?: string; + + /** + * Indicates if workload item is auto-protectable + */ + isAutoProtectable?: boolean; + + /** + * For instance or AG, indicates number of DB's present + */ + subinquireditemcount?: int32; + + /** + * For instance or AG, indicates number of DB's to be protected + */ + subWorkloadItemCount?: int32; +}; + +/** + * Azure VM workload-specific workload item. + */ +model AzureVmWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "AzureVmWorkloadItem"; + + ...AzureVmWorkloadItemProperties; +} + +alias AzureVmWorkloadProtectableItemProperties = { + /** + * Name for instance or AG + */ + parentName?: string; + + /** + * Parent Unique Name is added to provide the service formatted URI Name of the Parent + * Only Applicable for data bases where the parent would be either Instance or a SQL AG. + */ + parentUniqueName?: string; + + /** + * Host/Cluster Name for instance or AG + */ + serverName?: string; + + /** + * Indicates if protectable item is auto-protectable + */ + isAutoProtectable?: boolean; + + /** + * Indicates if protectable item is auto-protected + */ + isAutoProtected?: boolean; + + /** + * For instance or AG, indicates number of DB's present + */ + subinquireditemcount?: int32; + + /** + * For instance or AG, indicates number of DB's to be protected + */ + subprotectableitemcount?: int32; + + /** + * Pre-backup validation for protectable objects + */ + prebackupvalidation?: PreBackupValidation; + + /** + * Indicates if item is protectable + */ + isProtectable?: boolean; +}; + +/** + * Azure VM workload-specific protectable item. + */ +model AzureVmWorkloadProtectableItem extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "AzureVmWorkloadProtectableItem"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Pre-backup validation for Azure VM Workload provider. + */ +model PreBackupValidation { + /** + * Status of protectable item, i.e. InProgress,Succeeded,Failed + */ + status?: InquiryStatus; + + /** + * Error code of protectable item + */ + code?: string; + + /** + * Message corresponding to the error code for the protectable item + */ + message?: string; +} + +/** + * Azure VM workload-specific protectable item representing SAP ASE Database. + */ +model AzureVmWorkloadSAPAseDatabaseProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SAPAseDatabase"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SAP ASE Database. + */ +model AzureVmWorkloadSAPAseDatabaseWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SAPAseDatabase"; + + ...AzureVmWorkloadItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SAP ASE System. + */ +model AzureVmWorkloadSAPAseSystemProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SAPAseSystem"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SAP ASE System. + */ +model AzureVmWorkloadSAPAseSystemWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SAPAseSystem"; + + ...AzureVmWorkloadItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SAP HANA Database. + */ +model AzureVmWorkloadSAPHanaDatabaseProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SAPHanaDatabase"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SAP HANA Database. + */ +model AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SAPHanaDatabase"; + + ...AzureVmWorkloadItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SAP HANA System. + */ +model AzureVmWorkloadSAPHanaSystemProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SAPHanaSystem"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SAP HANA Dbinstance. + */ +model AzureVmWorkloadSAPHanaDBInstance extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SAPHanaDBInstance"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing HANA HSR. + */ +model AzureVmWorkloadSAPHanaHSRProtectableItem extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "HanaHSRContainer"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SAP HANA System. + */ +model AzureVmWorkloadSAPHanaSystemWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SAPHanaSystem"; + + ...AzureVmWorkloadItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SQL Availability Group. + */ +model AzureVmWorkloadSQLAvailabilityGroupProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SQLAvailabilityGroupContainer"; + + /** + * List of the nodes in case of distributed container. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + nodesList?: DistributedNodesInfo[]; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SQL Database. + */ +model AzureVmWorkloadSQLDatabaseProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SQLDataBase"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SQL Database. + */ +model AzureVmWorkloadSQLDatabaseWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SQLDataBase"; + + ...AzureVmWorkloadItemProperties; +} + +/** + * Azure VM workload-specific protectable item representing SQL Instance. + */ +model AzureVmWorkloadSQLInstanceProtectableItem + extends WorkloadProtectableItem { + /** + * Type of the backup item. + */ + protectableItemType: "SQLInstance"; + + ...AzureVmWorkloadProtectableItemProperties; +} + +/** + * Azure VM workload-specific workload item representing SQL Instance. + */ +model AzureVmWorkloadSQLInstanceWorkloadItem extends WorkloadItem { + /** + * Type of the backup item. + */ + workloadItemType: "SQLInstance"; + + /** + * Data Directory Paths for default directories + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + dataDirectoryPaths?: SQLDataDirectory[]; + + ...AzureVmWorkloadItemProperties; +} + +/** + * AzureWorkload workload-specific backup request. + */ +model AzureWorkloadBackupRequest extends BackupRequest { + /** + * Type of backup, viz. Full, Differential, Log or CopyOnlyFull + */ + backupType?: BackupType; + + /** + * Bool for Compression setting + */ + enableCompression?: boolean; + + /** + * Backup copy will expire after the time specified (UTC). + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointExpiryTimeInUTC?: utcDateTime; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadBackupRequest"; +} + +/** + * Azure backup goal feature specific request. + */ +model AzureBackupGoalFeatureSupportRequest extends FeatureSupportRequest { + /** + * backup support feature type. + */ + featureType: "AzureBackupGoals"; +} + +/** + * Azure Recovery Services Vault specific protection intent item. + */ +model AzureRecoveryServiceVaultProtectionIntent extends ProtectionIntent { + /** + * backup protectionIntent type. + */ + protectionIntentItemType: ProtectionIntentItemType.RecoveryServiceVaultItem; +} + +/** + * IaaS VM specific backup protection intent item. + */ +model AzureResourceProtectionIntent extends ProtectionIntent { + /** + * Friendly name of the VM represented by this backup item. + */ + friendlyName?: string; + + /** + * backup protectionIntent type. + */ + protectionIntentItemType: "AzureResourceItem"; +} + +/** + * AzureResource(IaaS VM) Specific feature support request + */ +model AzureVMResourceFeatureSupportRequest extends FeatureSupportRequest { + /** + * Size of the resource: VM size(A/D series etc) in case of IaasVM + */ + vmSize?: string; + + /** + * SKUs (Premium/Managed etc) in case of IaasVM + */ + vmSku?: string; + + /** + * backup support feature type. + */ + featureType: "AzureVMResourceBackup"; +} + +/** + * Azure workload specific protection intent item. + */ +model AzureWorkloadContainerAutoProtectionIntent extends ProtectionIntent { + /** + * backup protectionIntent type. + */ + protectionIntentItemType: "AzureWorkloadContainerAutoProtectionIntent"; +} + +/** + * Azure Recovery Services Vault specific protection intent item. + */ +model AzureWorkloadAutoProtectionIntent extends ProtectionIntent { + /** + * backup protectionIntent type. + */ + protectionIntentItemType: ProtectionIntentItemType.AzureWorkloadAutoProtectionIntent; +} + +/** + * Azure Workload SQL Auto Protection intent item. + */ +model AzureWorkloadSQLAutoProtectionIntent extends ProtectionIntent { + /** + * backup protectionIntent type. + */ + protectionIntentItemType: ProtectionIntentItemType.AzureWorkloadSQLAutoProtectionIntent; + + /** + * Workload item type of the item for which intent is to be set + */ + workloadItemType?: WorkloadItemType; +} + +/** + * Query parameters to fetch backup summaries. + */ +model BMSBackupSummariesQueryObject { + /** + * Backup management type for this container. + */ + type?: Type; +} + +/** + * Filters to list protection intent. + */ +model ProtectionIntentQueryObject { + /** + * Backup management type for the backed up item + */ + backupManagementType?: BackupManagementType; + + /** + * Type of workload this item represents + */ + itemType?: IntentItemType; + + /** + * Parent name of the intent + */ + parentName?: string; + + /** + * Item name of the intent + */ + itemName?: string; +} + +/** + * Query parameters to fetch list of backup engines. + */ +model BMSBackupEngineQueryObject { + /** + * attribute to add extended info + */ + expand?: string; +} + +/** + * Query parameters to fetch list of backup engines. + */ +model BMSBackupEnginesQueryObject { + /** + * Backup management type for the backup engine. + */ + backupManagementType?: BackupManagementType; + + /** + * Friendly name of the backup engine. + */ + friendlyName?: string; + + /** + * Attribute to add extended info. + */ + expand?: string; +} + +/** + * The query filters that can be used with the list containers API. + */ +model BMSContainerQueryObject { + /** + * Backup management type for this container. + */ + backupManagementType: BackupManagementType; + + /** + * Type of container for filter + */ + containerType?: ContainerType; + + /** + * Backup engine name + */ + backupEngineName?: string; + + /** + * Fabric name for filter + */ + fabricName?: string; + + /** + * Status of registration of this container with the Recovery Services Vault. + */ + status?: string; + + /** + * Friendly name of this container. + */ + friendlyName?: string; +} + +/** + * The query filters that can be used with the inquire container API. + */ +model BMSContainersInquiryQueryObject { + /** + * Backup management type for this container. + */ + backupManagementType?: BackupManagementType; + + /** + * Workload type for this container. + */ + workloadType?: WorkloadType; +} + +/** + * Filters to list items that can be backed up. + */ +model BmspoQueryObject { + /** + * Backup management type. + */ + backupManagementType?: BackupManagementType; + + /** + * Workload type + */ + workloadType?: WorkloadType; + + /** + * Full name of the container whose Protectable Objects should be returned. + */ + containerName?: string; + + /** + * Backup status query parameter. + */ + status?: string; + + /** + * Friendly name. + */ + friendlyName?: string; +} + +/** + * The query filters that can be used with the refresh container API. + */ +model BMSRefreshContainersQueryObject { + /** + * Backup management type for this container. + */ + backupManagementType?: BackupManagementType; +} + +/** + * Filters to list items that can be backed up. + */ +model BMSWorkloadItemQueryObject { + /** + * Backup management type. + */ + backupManagementType?: BackupManagementType; + + /** + * Workload Item type + */ + workloadItemType?: WorkloadItemType; + + /** + * Workload type + */ + workloadType?: WorkloadType; + + /** + * Backup status query parameter. + */ + protectionStatus?: ProtectionStatus; +} + +/** + * Client script details for file / folder restore. + */ +model ClientScriptForConnect { + /** + * File content of the client script for file / folder restore. + */ + scriptContent?: string; + + /** + * File extension of the client script for file / folder restore - .ps1 , .sh , etc. + */ + scriptExtension?: string; + + /** + * OS type - Windows, Linux etc. for which this file / folder restore client script works. + */ + osType?: string; + + /** + * URL of Executable from where to source the content. If this is not null then ScriptContent should not be used + */ + url?: string; + + /** + * Mandatory suffix that should be added to the name of script that is given for download to user. + * If its null or empty then , ignore it. + */ + scriptNameSuffix?: string; +} + +/** + * Container identity information + */ +model ContainerIdentityInfo { + /** + * Unique name of the container + */ + uniqueName?: string; + + /** + * Protection container identity - AAD Tenant + */ + aadTenantId?: string; + + /** + * Protection container identity - AAD Service Principal + */ + servicePrincipalClientId?: string; + + /** + * Protection container identity - Audience + */ + audience?: string; +} + +/** + * Data Protection Manager (DPM) specific backup engine. + */ +model DpmBackupEngine extends BackupEngineBase { + /** + * Type of the backup engine. + */ + backupEngineType: "DpmBackupEngine"; +} + +/** + * Base class for generic container of backup items + */ +model GenericContainer extends ProtectionContainer { + /** + * Name of the container's fabric + */ + fabricName?: string; + + /** + * Extended information (not returned in List container API calls) + */ + extendedInformation?: GenericContainerExtendedInfo; + + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.GenericContainer; +} + +/** + * Container extended information + */ +model GenericContainerExtendedInfo { + /** + * Public key of container cert + */ + rawCertData?: string; + + /** + * Container identity information + */ + containerIdentityInfo?: ContainerIdentityInfo; + + /** + * Azure Backup Service Endpoints for the container + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + serviceEndpoints?: Record; +} + +/** + * IaaS VM workload-specific backup request. + */ +model IaasVMBackupRequest extends BackupRequest { + /** + * Backup copy will expire after the time specified (UTC). + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + recoveryPointExpiryTimeInUTC?: utcDateTime; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "IaasVMBackupRequest"; +} + +/** + * Restore files/folders from a backup copy of IaaS VM. + */ +model IaasVmilrRegistrationRequest extends ILRRequest { + /** + * ID of the IaaS VM backup copy from where the files/folders have to be restored. + */ + recoveryPointId?: string; + + /** + * Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored. + */ + virtualMachineId?: string; + + /** + * iSCSI initiator name. + */ + initiatorName?: string; + + /** + * Whether to renew existing registration with the iSCSI server. + */ + renewExistingRegistration?: boolean; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "IaasVMILRRegistrationRequest"; +} + +/** + * Target details for file / folder restore. + */ +model InstantItemRecoveryTarget { + /** + * List of client scripts. + */ + @OpenAPI.extension("x-ms-identifiers", #[]) + clientScripts?: ClientScriptForConnect[]; +} + +/** + * Container with items backed up using MAB backup engine. + */ +model MabContainer extends ProtectionContainer { + /** + * Can the container be registered one more time. + */ + canReRegister?: boolean; + + /** + * ContainerID represents the container. + */ + containerId?: int64; + + /** + * Number of items backed up in this container. + */ + protectedItemCount?: int64; + + /** + * Agent version of this container. + */ + agentVersion?: string; + + /** + * Additional information for this container + */ + extendedInfo?: MabContainerExtendedInfo; + + /** + * Health details on this mab container. + */ + @OpenAPI.extension("x-ms-identifiers", #["code"]) + mabContainerHealthDetails?: MABContainerHealthDetails[]; + + /** + * Health state of mab container. + */ + containerHealthState?: string; + + /** + * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. + * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is + * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload + * Backup is VMAppContainer + */ + containerType: ProtectableContainerType.Windows; +} + +/** + * Additional information of the container. + */ +model MabContainerExtendedInfo { + /** + * Time stamp when this container was refreshed. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRefreshedAt?: utcDateTime; + + /** + * Type of backup items associated with this container. + */ + backupItemType?: BackupItemType; + + /** + * List of backup items associated with this container. + */ + backupItems?: string[]; + + /** + * Backup policy associated with this container. + */ + policyName?: string; + + /** + * Latest backup status of this container. + */ + lastBackupStatus?: string; +} + +/** + * MAB workload-specific Health Details. + */ +model MABContainerHealthDetails { + /** + * Health Code + */ + code?: int32; + + /** + * Health Title + */ + title?: string; + + /** + * Health Message + */ + message?: string; + + /** + * Health Recommended Actions + */ + recommendations?: string[]; +} + +/** + * Operation status job extended info. + */ +model OperationStatusJobExtendedInfo extends OperationStatusExtendedInfo { + /** + * ID of the job created for this protected item. + */ + jobId?: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "OperationStatusJobExtendedInfo"; +} + +/** + * Operation status extended info for list of jobs. + */ +model OperationStatusJobsExtendedInfo extends OperationStatusExtendedInfo { + /** + * IDs of the jobs created for the protected item. + */ + jobIds?: string[]; + + /** + * Stores all the failed jobs along with the corresponding error codes. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + failedJobsError?: Record; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "OperationStatusJobsExtendedInfo"; +} + +/** + * Operation status extended info for ILR provision action. + */ +model OperationStatusProvisionILRExtendedInfo + extends OperationStatusExtendedInfo { + /** + * Target details for file / folder restore. + */ + recoveryTarget?: InstantItemRecoveryTarget; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "OperationStatusProvisionILRExtendedInfo"; +} + +/** + * Operation status extended info for ValidateOperation action. + */ +model OperationStatusValidateOperationExtendedInfo + extends OperationStatusExtendedInfo { + /** + * Gets the validation operation response + */ + validateOperationResponse?: ValidateOperationResponse; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "OperationStatusValidateOperationExtendedInfo"; +} + +/** + * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. + */ +model AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest + extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest"; + + /** + * RP Rehydration Info + */ + recoveryPointRehydrationInfo?: RecoveryPointRehydrationInfo; + + ...AzureWorkloadSAPHanaPointInTimeRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * RP Rehydration Info + */ +model RecoveryPointRehydrationInfo { + /** + * How long the rehydrated RP should be kept + * Should be ISO8601 Duration format e.g. "P7D" + */ + rehydrationRetentionDuration?: string; + + /** + * Rehydration Priority + */ + rehydrationPriority?: RehydrationPriority; +} + +/** + * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. + */ +model AzureWorkloadSAPHanaRestoreWithRehydrateRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSAPHanaRestoreWithRehydrateRequest"; + + /** + * RP Rehydration Info + */ + recoveryPointRehydrationInfo?: RecoveryPointRehydrationInfo; + + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * AzureWorkload SQL-specific restore with integrated rehydration of recovery point. + */ +model AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest + extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest"; + + /** + * RP Rehydration Info + */ + recoveryPointRehydrationInfo?: RecoveryPointRehydrationInfo; + + ...AzureWorkloadSQLPointInTimeRestoreRequestProperties; + ...AzureWorkloadSQLRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * AzureWorkload SQL-specific restore with integrated rehydration of recovery point + */ +model AzureWorkloadSQLRestoreWithRehydrateRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "AzureWorkloadSQLRestoreWithRehydrateRequest"; + + /** + * RP Rehydration Info + */ + recoveryPointRehydrationInfo?: RecoveryPointRehydrationInfo; + + ...AzureWorkloadSQLRestoreRequestProperties; + ...AzureWorkloadRestoreRequestProperties; +} + +/** + * IaaS VM workload-specific restore with integrated rehydration of recovery point. + */ +model IaasVMRestoreWithRehydrationRequest extends RestoreRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "IaasVMRestoreWithRehydrationRequest"; + + /** + * RP Rehydration Info + */ + recoveryPointRehydrationInfo?: RecoveryPointRehydrationInfo; + + ...IaasVMRestoreRequestProperties; +} + +/** + * Request parameters for fetching cost info of rehydration + */ +model FetchTieringCostInfoForRehydrationRequest + extends FetchTieringCostInfoRequest { + /** + * Name of the protected item container + */ + containerName: string; + + /** + * Name of the protectedItemName + */ + protectedItemName: string; + + /** + * ID of the backup copy for rehydration cost info needs to be fetched. + */ + recoveryPointId: string; + + /** + * Rehydration Priority + */ + rehydrationPriority: RehydrationPriority; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "FetchTieringCostInfoForRehydrationRequest"; +} + +/** + * Response parameters for tiering cost info for rehydration + */ +model TieringCostRehydrationInfo extends TieringCostInfo { + /** + * Rehydration size in bytes + */ + rehydrationSizeInBytes: int64; + + /** + * Source tier to target tier rehydration cost per GB per month + */ + retailRehydrationCostPerGBPerMonth: float64; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "TieringCostRehydrationInfo"; +} + +/** + * Response parameters for tiering cost info for savings + */ +model TieringCostSavingInfo extends TieringCostInfo { + /** + * Source tier size reduction in bytes after moving all the recommended backup points to target tier + */ + sourceTierSizeReductionInBytes: int64; + + /** + * Target tier size increase in bytes after moving all the recommended backup points to target tier + */ + targetTierSizeIncreaseInBytes: int64; + + /** + * Source tier retail cost per GB per month + */ + retailSourceTierCostPerGBPerMonth: float64; + + /** + * Target tier retail cost per GB per month + */ + retailTargetTierCostPerGBPerMonth: float64; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "TieringCostSavingInfo"; +} + +/** + * Request parameters for tiering cost info for policy + */ +model FetchTieringCostSavingsInfoForPolicyRequest + extends FetchTieringCostInfoRequest { + /** + * Name of the backup policy for which the cost savings information is requested + */ + policyName: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "FetchTieringCostSavingsInfoForPolicyRequest"; +} + +/** + * Request parameters for tiering cost info for protected item + */ +model FetchTieringCostSavingsInfoForProtectedItemRequest + extends FetchTieringCostInfoRequest { + /** + * Name of the protected item container + */ + containerName: string; + + /** + * Name of the protectedItemName + */ + protectedItemName: string; + + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "FetchTieringCostSavingsInfoForProtectedItemRequest"; +} + +/** + * Request parameters for tiering cost info for vault + */ +model FetchTieringCostSavingsInfoForVaultRequest + extends FetchTieringCostInfoRequest { + /** + * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. + */ + objectType: "FetchTieringCostSavingsInfoForVaultRequest"; +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp new file mode 100644 index 000000000000..8c4a2b907438 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -0,0 +1,761 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.RecoveryServices; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ProtectionIntentOperationGroup { + /** + * It will validate followings + * 1. Vault capacity + * 2. VM is already protected + * 3. Any VM related configuration passed in properties. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @summary(""" + It will validate followings + 1. Vault capacity + 2. VM is already protected + 3. Any VM related configuration passed in properties. + """) + @operationId("ProtectionIntent_Validate") + @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection") + @post + validate( + ...ApiVersionParameter, + + /** + * Azure region to hit Api + */ + @path + azureRegion: string, + + ...SubscriptionIdParameter, + + /** + * Enable backup validation request on Virtual Machine + */ + @bodyRoot + parameters: PreValidateEnableBackupRequest, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupStatusOperationGroup { + /** + * Get the container backup status + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @summary("Get the container backup status") + @operationId("BackupStatus_Get") + @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus") + @post + get( + ...ApiVersionParameter, + + /** + * Azure region to hit Api + */ + @path + azureRegion: string, + + ...SubscriptionIdParameter, + + /** + * Container Backup Status Request + */ + @bodyRoot + parameters: BackupStatusRequest, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface FeatureSupportOperationGroup { + /** + * It will validate if given feature with resource properties is supported in service + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @summary("It will validate if given feature with resource properties is supported in service") + @operationId("FeatureSupport_Validate") + @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures") + @post + validate( + ...ApiVersionParameter, + + /** + * Azure region to hit Api + */ + @path + azureRegion: string, + + ...SubscriptionIdParameter, + + /** + * Feature support request object + */ + @bodyRoot + parameters: FeatureSupportRequest, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupProtectionIntentOperationGroup { + /** + * Provides a pageable list of all intents that are present within a vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupProtectionIntent_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupUsageSummariesOperationGroup { + /** + * Fetches the backup management usage summaries of the vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupUsageSummaries_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface JobsOperationGroup { + /** + * Triggers export of jobs specified by filters and returns an OperationID to track. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Jobs_Export") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport") + @post + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + export( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + ): ArmAcceptedResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupProtectedItemsOperationGroup { + /** + * Provides a pageable list of all items that are backed up within a vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupProtectedItems_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface OperationOperationGroup { + /** + * Validate operation for specified backed up item. This is a synchronous operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Operation_Validate") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation") + @post + validate( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * resource validate operation request + */ + @bodyRoot + parameters: ValidateOperationRequestResource, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ValidateOperationOperationGroup { + /** + * Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ValidateOperation_Trigger") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation") + @post + trigger( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * resource validate operation request + */ + @bodyRoot + parameters: ValidateOperationRequestResource, + ): ArmAcceptedResponse< + "Accepted", + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + > | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ValidateOperationResultsOperationGroup { + /** + * Fetches the result of a triggered validate operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ValidateOperationResults_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}") + @get + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OperationID which represents the operation whose result needs to be fetched. + */ + @path + operationId: string, + ): ArmResponse | ArmAcceptedResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ValidateOperationStatusesOperationGroup { + /** + * Fetches the status of a triggered validate operation. The status can be in progress, completed + * or failed. You can refer to the OperationStatus enum for all the possible states of the operation. + * If operation has completed, this method returns the list of errors obtained while validating the operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ValidateOperationStatuses_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}") + @get + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OperationID represents the operation whose status needs to be fetched. + */ + @path + operationId: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ProtectionContainerRefreshOperationResultsOperationGroup { + /** + * Provides the result of the refresh operation triggered by the BeginRefresh operation. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionContainerRefreshOperationResults_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}") + @get + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * Fabric name associated with the container. + */ + @path + fabricName: string, + + /** + * Operation ID associated with the operation whose result needs to be fetched. + */ + @path + operationId: string, + ): ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ProtectableContainersOperationGroup { + /** + * Lists the containers that can be registered to Recovery Services Vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectableContainers_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @path + fabricName: string, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface ProtectionContainersOperationGroup { + /** + * Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an + * asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("ProtectionContainers_Refresh") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers") + @post + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + refresh( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * Fabric name associated the container. + */ + @path + fabricName: string, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + ): ArmAcceptedResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupOperationResultsOperationGroup { + /** + * Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the + * status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On + * successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is + * part of the Location header of the operation response. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupOperationResults_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}") + @get + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OperationID which represents the operation. + */ + @path + operationId: string, + ): OkResponse | ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupOperationStatusesOperationGroup { + /** + * Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed + * or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations + * create jobs. This method returns the list of jobs when the operation is complete. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupOperationStatuses_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}") + @get + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OperationID which represents the operation. + */ + @path + operationId: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupProtectableItemsOperationGroup { + /** + * Provides a pageable list of protectable objects within your subscription according to the query filter and the + * pagination parameters. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupProtectableItems_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + + /** + * skipToken Filter. + */ + @query("$skipToken") + $skipToken?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface BackupProtectionContainersOperationGroup { + /** + * Lists the containers registered to Recovery Services Vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("BackupProtectionContainers_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers") + @get + list( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface DeletedProtectionContainersOperationGroup { + /** + * Lists the soft deleted containers registered to Recovery Services Vault. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("DeletedProtectionContainers_List") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers") + @get + list( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + /** + * OData filter options. + */ + @query("$filter") + $filter?: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface SecurityPINsOperationGroup { + /** + * Get the security PIN. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("SecurityPINs_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN") + @post + get( + ...ApiVersionParameter, + + /** + * The name of the recovery services vault. + */ + @path + vaultName: string, + + ...ResourceGroupParameter, + ...SubscriptionIdParameter, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @header + `x-ms-authorization-auxiliary`?: string, + + /** + * security pin request + */ + @bodyRoot + parameters?: SecurityPinBase, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface FetchTieringCostOperationGroup { + /** + * Provides the details of the tiering related sizes and cost. + * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("FetchTieringCost_Post") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost") + @post + post( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + + /** + * The name of the recovery services vault. + */ + @maxLength(50) + @minLength(2) + @pattern("^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$") + @path + vaultName: string, + + /** + * Fetch Tiering Cost Request + */ + @bodyRoot + parameters: FetchTieringCostInfoRequest, + ): ArmResponse | ArmAcceptedResponse< + "Accepted", + ArmLroLocationHeader< + Azure.Core.StatusMonitorPollingOptions, + TieringCostInfo, + string + > & + Azure.Core.Foundations.RetryAfterHeader + > | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface GetTieringCostOperationResultOperationGroup { + /** + * Gets the result of async operation for tiering cost + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("GetTieringCostOperationResult_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}") + @get + get( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + + /** + * The name of the recovery services vault. + */ + @maxLength(50) + @minLength(2) + @pattern("^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$") + @path + vaultName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @path + operationId: string, + ): ArmResponse | ErrorResponse; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +interface TieringCostOperationStatusOperationGroup { + /** + * Gets the status of async operations of tiering cost + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("TieringCostOperationStatus_Get") + @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}") + @get + get( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + + /** + * The name of the recovery services vault. + */ + @maxLength(50) + @minLength(2) + @pattern("^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$") + @path + vaultName: string, + + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + @path + operationId: string, + ): ArmResponse | ErrorResponse; +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml new file mode 100644 index 000000000000..e4e04ab999e2 --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -0,0 +1,13 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: false + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/bms.json" + examples-dir: "{project-root}/examples" + arm-resource-flattening: false +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 3654ac9b5de6..133dfe181cf3 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -1,484 +1,543 @@ { "swagger": "2.0", "info": { + "title": "Recovery Services Backup Client", "version": "2025-02-01", - "title": "RecoveryServicesBackupClient", - "x-ms-code-generation-settings": { - "internalConstructors": false - } + "description": "Open API 2.0 Specs for Azure RecoveryServices Backup service", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "BackupResourceConfigResources" + }, + { + "name": "BackupResourceConfigOperationResults" + }, + { + "name": "BackupResourceConfigOperationStatuses" + }, + { + "name": "ProtectionIntentResources" + }, + { + "name": "BackupResourceVaultConfigResources" + }, + { + "name": "BackupResourceEncryptionConfigExtendedResources" + }, + { + "name": "PrivateEndpointConnectionResources" + }, + { + "name": "PrivateEndpointOperationStatuses" + }, + { + "name": "ProtectedItemResources" + }, + { + "name": "ProtectedItemOperationStatuses" + }, + { + "name": "ProtectedItemOperationResults" + }, + { + "name": "ProtectionContainerResources" + }, + { + "name": "ProtectionContainerOperationResults" + }, + { + "name": "RecoveryPointResources" + }, + { + "name": "ProtectionPolicyResources" + }, + { + "name": "ProtectionPolicyOperationResults" + }, + { + "name": "ProtectionPolicyOperationStatuses" + }, + { + "name": "JobResources" + }, + { + "name": "JobOperationResults" + }, + { + "name": "ExportJobsOperationResults" + }, + { + "name": "BackupEngineBaseResources" + }, + { + "name": "ResourceGuardProxyBaseResources" + } + ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "/providers/Microsoft.RecoveryServices/operations": { "get": { + "operationId": "Operations_List", "tags": [ - "BackupResourceStorageConfigsNonCRR" - ], - "description": "Fetches resource storage config.", - "operationId": "BackupResourceStorageConfigsNonCRR_Get", - "produces": [ - "application/json" + "Operations" ], + "description": "List the operations for the provider", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Get.json" + "ListOperations": { + "$ref": "./examples/ListOperations.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { - "tags": [ - "BackupResourceStorageConfigsNonCRR" - ], - "description": "Updates vault storage model type.", - "operationId": "BackupResourceStorageConfigsNonCRR_Update", - "produces": [ - "application/json" - ], + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "operationId": "ProtectionIntent_Validate", + "summary": "It will validate followings\n1. Vault capacity\n2. VM is already protected\n3. Any VM related configuration passed in properties.", + "description": "It will validate followings\n1. Vault capacity\n2. VM is already protected\n3. Any VM related configuration passed in properties.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", "in": "body", - "description": "Vault storage config request", + "description": "Enable backup validation request on Virtual Machine", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" + "$ref": "#/definitions/PreValidateEnableBackupRequest" } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" + "$ref": "#/definitions/PreValidateEnableBackupResponse" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Put.json" + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" } } - }, - "patch": { - "tags": [ - "BackupResourceStorageConfigsNonCRR" - ], - "description": "Updates vault storage model type.", - "operationId": "BackupResourceStorageConfigsNonCRR_patch", + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "operationId": "BackupStatus_Get", + "summary": "Get the container backup status", + "description": "Get the container backup status", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", "in": "body", - "description": "Vault storage config request", + "description": "Container Backup Status Request", "required": true, "schema": { - "$ref": "#/definitions/BackupResourceConfigResource" + "$ref": "#/definitions/BackupStatusRequest" } } ], "responses": { - "204": { - "description": "NoContent" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Vault Storage Configuration": { - "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" } } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { "post": { - "tags": [ - "ProtectionIntent" - ], - "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", - "operationId": "ProtectionIntent_Validate", - "produces": [ - "application/json" - ], + "operationId": "FeatureSupport_Validate", + "summary": "It will validate if given feature with resource properties is supported in service", + "description": "It will validate if given feature with resource properties is supported in service", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/AzureRegion" + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", "in": "body", - "description": "Enable backup validation request on Virtual Machine", + "description": "Feature support request object", "required": true, "schema": { - "$ref": "#/definitions/PreValidateEnableBackupRequest" + "$ref": "#/definitions/FeatureSupportRequest" } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PreValidateEnableBackupResponse" + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Validate Enable Protection on Azure Vm": { - "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" } } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { - "post": { - "tags": [ - "BackupStatus" - ], - "summary": "Get the container backup status", - "operationId": "BackupStatus_Get", - "produces": [ - "application/json" - ], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers": { + "get": { + "operationId": "DeletedProtectionContainers_List", + "description": "Lists the soft deleted containers registered to Recovery Services Vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/AzureRegion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "Container Backup Status Request", + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", "required": true, - "schema": { - "$ref": "#/definitions/BackupStatusRequest" - } + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BackupStatusResponse" + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Azure Virtual Machine Backup Status": { - "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/SoftDeletedContainers_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "get": { + "operationId": "BackupResourceEncryptionConfigs_Get", "tags": [ - "FeatureSupport" - ], - "summary": "It will validate if given feature with resource properties is supported in service", - "operationId": "FeatureSupport_Validate", - "produces": [ - "application/json" + "BackupResourceEncryptionConfigExtendedResources" ], + "description": "Fetches Vault Encryption config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/AzureRegion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "Feature support request object", + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", "required": true, - "schema": { - "$ref": "#/definitions/FeatureSupportRequest" - } + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Check Azure Vm Backup Feature Support": { - "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { - "get": { + }, + "put": { + "operationId": "BackupResourceEncryptionConfigs_Update", "tags": [ - "ProtectionIntent" - ], - "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", - "operationId": "ProtectionIntent_Get", - "produces": [ - "application/json" + "BackupResourceEncryptionConfigExtendedResources" ], + "description": "Updates Vault encryption config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "intentObjectName", - "in": "path", - "description": "Backed up item name whose details are to be fetched.", + "name": "parameters", + "in": "body", + "description": "Vault encryption input config request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionIntentResource" + "description": "The request has succeeded." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get ProtectionIntent for an item": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "get": { + "operationId": "BackupEngines_List", "tags": [ - "ProtectionIntent" - ], - "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", - "operationId": "ProtectionIntent_CreateOrUpdate", - "produces": [ - "application/json" + "BackupEngineBaseResources" ], + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "intentObjectName", - "in": "path", - "description": "Intent object name.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource backed up item", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionIntentResource" - } + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionIntentResource" + "$ref": "#/definitions/BackupEngineBaseResourceList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create or Update Azure Vm Protection Intent": { - "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "get": { + "operationId": "BackupEngines_Get", "tags": [ - "ProtectionIntent" - ], - "description": "Used to remove intent from an item", - "operationId": "ProtectionIntent_Delete", - "produces": [ - "application/json" + "BackupEngineBaseResources" ], + "description": "Returns backup management server registered to Recovery Services Vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the intent.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "intentObjectName", + "name": "backupEngineName", "in": "path", - "description": "Intent to be deleted.", + "description": "Name of the backup management server.", "required": true, "type": "string" - } - ], - "responses": { - "204": { - "description": "NoContent" - } - }, - "x-ms-examples": { - "Delete Protection intent from item": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { - "get": { - "tags": [ - "BackupProtectionIntent" - ], - "description": "Provides a pageable list of all intents that are present within a vault.", - "operationId": "BackupProtectionIntent_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" }, { "name": "$filter", @@ -497,444 +556,423 @@ ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionIntentResourceList" + "$ref": "#/definitions/BackupEngineBaseResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protection intent with backupManagementType filter": { - "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { "get": { + "operationId": "ProtectionIntent_Get", "tags": [ - "BackupUsageSummaries" - ], - "description": "Fetches the backup management usage summaries of the vault.", - "operationId": "BackupUsageSummaries_List", - "produces": [ - "application/json" + "ProtectionIntentResources" ], + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\ncall the GetItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BackupManagementUsageList" + "$ref": "#/definitions/ProtectionIntentResource" } - } - }, - "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", - "x-ms-pageable": { - "nextLinkName": null - }, - "x-ms-examples": { - "Get Protected Items Usages Summary": { - "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" }, - "Get Protected Containers Usages Summary": { - "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" - } - } - } - }, - "/providers/Microsoft.RecoveryServices/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Returns the list of available operations.", - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - } - ], - "responses": { - "200": { - "description": "OK", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ClientDiscoveryResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" - }, "x-ms-examples": { - "ListOperations": { - "$ref": "./examples/ListOperations.json" + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { - "get": { + }, + "put": { + "operationId": "ProtectionIntent_CreateOrUpdate", "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Fetches resource vault config.", - "operationId": "BackupResourceVaultConfigs_Get", - "produces": [ - "application/json" + "ProtectionIntentResources" ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/VaultName" + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ProtectionIntentResource' update operation succeeded", "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "$ref": "#/definitions/ProtectionIntentResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" } } }, - "patch": { + "delete": { + "operationId": "ProtectionIntent_Delete", "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Updates vault security config.", - "operationId": "BackupResourceVaultConfigs_Update", - "produces": [ - "application/json" + "ProtectionIntentResources" ], + "description": "Used to remove intent from an item", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource config request", + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "type": "string" }, { - "name": "x-ms-authorization-auxiliary", - "in": "header", + "name": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" } } - }, - "put": { - "tags": [ - "BackupResourceVaultConfigs" - ], - "description": "Updates vault security config. ", - "operationId": "BackupResourceVaultConfigs_Put", - "produces": [ - "application/json" - ], + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" - }, + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" + }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "description": "resource config request", + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" - } + "type": "string" }, { - "name": "x-ms-authorization-auxiliary", - "in": "header", + "name": "operationId", + "in": "path", + "description": "Operation ID associated with the operation whose result needs to be fetched.", + "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceVaultConfigResource" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Operation completed successfully." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Vault Security Config": { - "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { "get": { - "tags": [ - "BackupResourceEncryptionConfigs" - ], - "description": "Fetches Vault Encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Get", - "produces": [ - "application/json" - ], + "operationId": "ProtectableContainers_List", + "description": "Lists the containers that can be registered to Recovery Services Vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource" - } + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } - } - }, - "x-ms-examples": { - "Get Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" - } - } - }, - "put": { - "tags": [ - "BackupResourceEncryptionConfigs" - ], - "description": "Updates Vault encryption config.", - "operationId": "BackupResourceEncryptionConfigs_Update", - "produces": [ - "application/json" - ], - "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "Vault encryption input config request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupResourceEncryptionConfigResource" - } + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Update Vault Encryption Configuration": { - "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { "get": { + "operationId": "ProtectionContainers_Get", "tags": [ - "PrivateEndpointConnection" - ], - "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Get", - "produces": [ - "application/json" + "ProtectionContainerResources" ], + "description": "Gets details of the specific container registered to your Recovery Services Vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectionContainerResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" } } }, "put": { + "operationId": "ProtectionContainers_Register", "tags": [ - "PrivateEndpointConnection" - ], - "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Put", - "produces": [ - "application/json" + "ProtectionContainerResources" ], + "description": "Registers the container with Recovery Services vault.\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\nthe operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, @@ -944,400 +982,359 @@ "description": "Request body for operation", "required": true, "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectionContainerResource" } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ProtectionContainerResource' update operation succeeded", "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "$ref": "#/definitions/ProtectionContainerResource" } }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/PrivateEndpointConnectionResource" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Update PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true }, "delete": { + "operationId": "ProtectionContainers_Unregister", "tags": [ - "PrivateEndpointConnection" - ], - "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", - "operationId": "PrivateEndpointConnection_Delete", - "produces": [ - "application/json" + "ProtectionContainerResources" ], + "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "Resource deleted successfully." }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete PrivateEndpointConnection": { - "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { + "operationId": "ProtectionContainers_Inquire", "tags": [ - "PrivateEndpoint" - ], - "summary": "Gets the operation status for a private endpoint connection.", - "operationId": "PrivateEndpoint_GetOperationStatus", - "produces": [ - "application/json" + "ProtectionContainerResources" ], + "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "privateEndpointConnectionName", + "name": "fabricName", "in": "path", - "description": "The name of the private endpoint connection.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { - "name": "operationId", + "name": "containerName", "in": "path", - "description": "Operation id", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { "get": { + "operationId": "BackupWorkloadItems_List", "tags": [ - "DataMove" - ], - "description": "Fetches operation status for data move operation on vault", - "operationId": "GetOperationStatus", - "produces": [ - "application/json" + "ProtectionContainerResources" ], + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\nparameters.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" }, { - "name": "operationId", + "name": "containerName", "in": "path", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/WorkloadItemResourceList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get OperationStatus": { - "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" } - } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "get": { + "operationId": "ProtectionContainerOperationResults_Get", "tags": [ - "DataMove" - ], - "description": "Prepares source vault for Data Move operation", - "operationId": "BMSPrepareDataMove", - "produces": [ - "application/json" + "ProtectionContainerOperationResults" ], + "description": "Fetches the result of any operation on the container.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "Prepare data move request", + "name": "vaultName", + "in": "path", + "description": "vaults", "required": true, - "schema": { - "$ref": "#/definitions/PrepareDataMoveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Prepare Data Move": { - "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { - "get": { - "tags": [ - "BMSPrepareDataMoveOperationResult" - ], - "description": "Fetches Operation Result for Prepare Data Move", - "operationId": "BMSPrepareDataMoveOperationResult_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "fabricName", + "in": "path", + "description": "backupFabrics", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "containerName", + "in": "path", + "description": "The name of the ProtectionContainerResource", + "required": true, + "type": "string" }, { "name": "operationId", "in": "path", + "description": "The name of the ProtectionContainerResource", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/ProtectionContainerResource" } }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, - "default": { - "description": "Error response describing why the operation failed. ", - "schema": { - "$ref": "#/definitions/NewErrorResponse" - } - } - }, - "x-ms-examples": { - "Get operation result for PrepareDataMove": { - "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { - "post": { - "tags": [ - "DataMove" - ], - "description": "Triggers Data Move Operation on target vault", - "operationId": "BMSTriggerDataMove", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "parameters", - "in": "body", - "description": "Trigger data move request", - "required": true, - "schema": { - "$ref": "#/definitions/TriggerDataMoveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "204": { + "description": "Operation completed successfully." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/NewErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Data Move": { - "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { "get": { - "tags": [ - "ProtectedItems" - ], - "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", "operationId": "ProtectedItems_Get", - "produces": [ - "application/json" + "tags": [ + "ProtectedItemResources" ], + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\ncall the GetItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, @@ -1358,19 +1355,18 @@ ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProtectedItemResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", "x-ms-examples": { "Get Protected Classic Virtual Machine Details": { "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" @@ -1381,48 +1377,55 @@ } }, "put": { - "tags": [ - "ProtectedItems" - ], - "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", "operationId": "ProtectedItems_CreateOrUpdate", - "produces": [ - "application/json" + "tags": [ + "ProtectedItemResources" ], + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Item name to be backed up.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, + "type": "string" + }, { "name": "parameters", "in": "body", @@ -1431,27 +1434,22 @@ "schema": { "$ref": "#/definitions/ProtectedItemResource" } - }, - { - "name": "x-ms-authorization-auxiliary", - "in": "header", - "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ProtectedItemResource' update operation succeeded", "schema": { "$ref": "#/definitions/ProtectedItemResource" } }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -1465,63 +1463,64 @@ } }, "delete": { - "tags": [ - "ProtectedItems" - ], - "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.", "operationId": "ProtectedItems_Delete", - "produces": [ - "application/json" + "tags": [ + "ProtectedItemResources" ], + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\nrequest, call the GetItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item to be deleted.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "Resource deleted successfully." }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "204": { - "description": "NoContent" + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -1532,675 +1531,912 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "operationId": "Backups_Trigger", "tags": [ - "ProtectedItemOperationResults" - ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", - "produces": [ - "application/json" + "ProtectedItemResources" ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\noperation, call GetProtectedItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", + "name": "parameters", + "in": "body", + "description": "resource backup request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } - }, "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Operation Results of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { "get": { + "operationId": "ProtectedItemOperationResults_Get", "tags": [ - "RecoveryPoints" - ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", - "produces": [ - "application/json" + "ProtectedItemOperationResults" ], + "description": "Fetches the result of any operation on the backup item.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "backupFabrics", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "The name of the ProtectionContainerResource", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", + "description": "The name of the ProtectedItemResource", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "operationId", + "in": "path", + "description": "The name of the ProtectedItemResource", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" + "$ref": "#/definitions/ProtectedItemResource" } }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." + }, + "204": { + "description": "Operation completed successfully." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Get Protected Azure Vm Recovery Points": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { "get": { + "operationId": "ProtectedItemOperationStatuses_Get", "tags": [ - "RecoveryPoints" - ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", - "produces": [ - "application/json" + "ProtectedItemOperationStatuses" ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\ncreate jobs. This method returns the list of jobs associated with the operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with backed up item.", + "description": "backupFabrics", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with backed up item.", + "description": "The name of the ProtectionContainerResource", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", + "description": "The name of the ProtectedItemResource", "required": true, "type": "string" }, { - "name": "recoveryPointId", + "name": "operationId", "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", + "description": "The name of the ProtectedItemResource", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RecoveryPointResource" + "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Azure Vm Recovery Point Details": { - "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { + "operationId": "RecoveryPoints_List", "tags": [ - "Restores" - ], - "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.", - "operationId": "Restores_Trigger", - "produces": [ - "application/json" + "RecoveryPointResources" ], + "description": "Lists the backup copies for the backed up item.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up items.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item to be restored.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } - }, - { - "name": "x-ms-authorization-auxiliary", - "in": "header", - "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Restore to New Azure IaasVm with IaasVMRestoreRequest": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json" - }, - "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" - }, - "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json" - }, - "Restore Disks with IaasVMRestoreRequest": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json" - }, - "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" - }, - "Restore Disks with IaasVMRestoreWithRehydrationRequest": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json" - }, - "Restore with Resource Guard Enabled": { - "$ref": "./examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json" + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { "get": { + "operationId": "RecoveryPoints_Get", "tags": [ - "BackupPolicies" - ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.", - "operationId": "BackupPolicies_List", - "produces": [ - "application/json" + "RecoveryPointResources" ], + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" + "$ref": "#/definitions/RecoveryPointResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protection policies with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" - }, - "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies": { - "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.json" - }, - "List protection policies with backupManagementType filter as AzureWorkload": { - "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "operationId": "MoveRecoveryPoint", "tags": [ - "ProtectionPolicies" - ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", - "produces": [ - "application/json" + "RecoveryPointResources" ], + "description": "Move recovery point from one datastore to another store.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy information to be fetched.", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Azure IaasVm Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" - }, - "Get Azure IaasVm Enhanced Protection Policy Details": { - "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.json" + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" } - } - }, - "put": { + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { + "operationId": "ItemLevelRecoveryConnections_Provision", "tags": [ - "ProtectionPolicies" - ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", - "produces": [ - "application/json" + "RecoveryPointResources" ], + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\nprovisioning, call GetProtectedItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "policyName", + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", "in": "path", - "description": "Backup policy to be created.", + "description": "RecoveryPointID represents the backed up data to be fetched.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", - "description": "resource backup policy", + "description": "resource ILR request", "required": true, "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/ILRRequestResource" } - }, - { - "name": "x-ms-authorization-auxiliary", - "in": "header", - "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create or Update Simple Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" - }, - "Create or Update Full Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup": { - "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json" - }, - "Create or Update Enhanced Azure Vm Protection Policy with daily backup": { - "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json" - }, - "Create or Update Full Azure Workload Protection Policy": { - "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" - }, - "Create or Update Daily Azure Storage Protection Policy": { - "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json" - }, - "Create or Update Hourly Azure Storage Protection Policy": { - "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json" - }, - "Create or Update Azure Storage Vault Standard Protection Policy": { - "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json" + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { + "operationId": "Restores_Trigger", "tags": [ - "ProtectionPolicies" - ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Delete", - "produces": [ - "application/json" + "RecoveryPointResources" ], + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\nGetProtectedItemOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy to be deleted.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" }, - "204": { - "description": "NoContent" + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete Azure Vm Protection Policy": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + "Restore Disks with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore Disks with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json" + }, + "Restore with Resource Guard Enabled": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { + "operationId": "ItemLevelRecoveryConnections_Revoke", "tags": [ - "ProtectionPolicyOperationResults" + "RecoveryPointResources" ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", - "produces": [ - "application/json" + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the BackupFabricResource", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "RecoveryPointID represents the backed up data to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "operationId": "RecoveryPointsRecommendedForMove_List", + "tags": [ + "ProtectedItemResources" ], + "description": "Lists the recovery points recommended for move to another tier", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", + "description": "The name of the BackupFabricResource", "required": true, "type": "string" }, { - "name": "operationId", + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" + "$ref": "#/definitions/RecoveryPointResourceList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Protection Policy Operation Results": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { + "operationId": "ProtectionContainers_Refresh", + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { "get": { + "operationId": "BackupJobs_List", "tags": [ - "BackupJobs" + "JobResources" ], "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "$filter", @@ -2219,22 +2455,18 @@ ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/JobResourceList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { "List All Jobs": { "$ref": "./examples/Common/ListJobs.json" @@ -2245,31 +2477,35 @@ "List Jobs With Time Filter": { "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { "get": { + "operationId": "JobDetails_Get", "tags": [ - "JobDetails" + "JobResources" ], "description": "Gets extended information associated with the job.", - "operationId": "JobDetails_Get", - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "jobName", @@ -2281,15 +2517,15 @@ ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/JobResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -2302,43 +2538,44 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { "post": { - "tags": [ - "JobCancellations" - ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.", "operationId": "JobCancellations_Trigger", - "produces": [ - "application/json" + "tags": [ + "JobResources" ], + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\nGetCancelOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "jobName", "in": "path", - "description": "Name of the job to cancel.", + "description": "Name of the job whose details are to be fetched.", "required": true, "type": "string" } ], "responses": { "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -2351,56 +2588,57 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { "get": { + "operationId": "JobOperationResults_Get", "tags": [ "JobOperationResults" ], "description": "Fetches the result of any operation.", - "operationId": "JobOperationResults_Get", - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { "name": "jobName", "in": "path", - "description": "Job name whose operation result has to be fetched.", + "description": "The name of the JobResource", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the operation whose result has to be fetched.", + "description": "The name of the JobResource", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "The request has succeeded." }, "202": { - "description": "Accepted" + "description": "The request has been accepted for processing, but processing has not yet completed." }, "204": { - "description": "NoContent" + "description": "Operation completed successfully." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -2413,52 +2651,53 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { "get": { + "operationId": "ExportJobsOperationResults_Get", "tags": [ "ExportJobsOperationResults" ], - "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", - "operationId": "ExportJobsOperationResults_Get", - "produces": [ - "application/json" - ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\ncontains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the export job.", + "description": "The name of the JobResource", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationResultInfoBaseResource" } }, "202": { - "description": "Accepted", + "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/OperationResultInfoBaseResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, @@ -2471,26 +2710,24 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { "post": { - "tags": [ - "Jobs" - ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", "operationId": "Jobs_Export", - "produces": [ - "application/json" - ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "$filter", @@ -2502,16 +2739,22 @@ ], "responses": { "202": { - "description": "Accepted" + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/JobQueryObject", "x-ms-examples": { "Export Jobs": { "$ref": "./examples/Common/TriggerExportJobs.json" @@ -2519,2624 +2762,2704 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { "get": { - "tags": [ - "BackupProtectedItems" - ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", - "produces": [ - "application/json" - ], + "operationId": "BackupOperationResults_Get", + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\npart of the Location header of the operation response.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Operation completed successfully." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/ProtectedItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protected items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { - "post": { - "tags": [ - "Operation" - ], - "description": "Validate operation for specified backed up item. This is a synchronous operation.", - "operationId": "Operation_Validate", - "produces": [ - "application/json" - ], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "get": { + "operationId": "BackupOperationStatuses_Get", + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\ncreate jobs. This method returns the list of jobs when the operation is complete.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequestResource" - } + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ValidateOperationsResponse" + "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" - }, - "Validate Operation with identityBasedRestoreDetails": { - "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json" + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "operationId": "BackupPolicies_List", "tags": [ - "ValidateOperation" - ], - "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.", - "operationId": "ValidateOperation_Trigger", - "produces": [ - "application/json" + "ProtectionPolicyResources" ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\nscoped results.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource validate operation request", - "required": true, - "schema": { - "$ref": "#/definitions/ValidateOperationRequestResource" - } + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger Validate Operation": { - "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json" + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { "get": { + "operationId": "ProtectionPolicies_Get", "tags": [ - "ValidateOperationResults" - ], - "description": "Fetches the result of a triggered validate operation.", - "operationId": "ValidateOperationResults_Get", - "produces": [ - "application/json" + "ProtectionPolicyResources" ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "operationId", + "name": "policyName", "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", + "description": "Backup policy information to be fetched.", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ValidateOperationsResponse" + "$ref": "#/definitions/ProtectionPolicyResource" } }, - "202": { - "description": "Accepted" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Operation Results of Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json" + "Get Azure IaasVm Enhanced Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.json" + }, + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": { - "get": { + }, + "put": { + "operationId": "ProtectionPolicies_CreateOrUpdate", "tags": [ - "ValidateOperationStatuses" - ], - "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\r\nIf operation has completed, this method returns the list of errors obtained while validating the operation.", - "operationId": "ValidateOperationStatuses_Get", - "produces": [ - "application/json" + "ProtectionPolicyResources" ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\nusing GetPolicyOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { - "name": "operationId", + "name": "policyName", "in": "path", - "description": "OperationID represents the operation whose status needs to be fetched.", + "description": "Backup policy information to be fetched.", "required": true, "type": "string" + }, + { + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ProtectionPolicyResource' update operation succeeded", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectionPolicyResource" } }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Operation Status of Validate Operation": { - "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json" + "Create or Update Azure Storage Vault Standard Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json" + }, + "Create or Update Daily Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with daily backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Hourly Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json" + }, + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { - "get": { + }, + "delete": { + "operationId": "ProtectionPolicies_Delete", "tags": [ - "BackupEngines" - ], - "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", - "operationId": "BackupEngines_List", - "produces": [ - "application/json" + "ProtectionPolicyResources" ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\noperation can be fetched using GetProtectionPolicyOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "policyName", + "in": "path", + "description": "Backup policy information to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupEngineBaseResourceList" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Dpm/AzureBackupServer/Lajolla Backup Engines": { - "$ref": "./examples/Dpm/BackupEngines_List.json" + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { "get": { + "operationId": "ProtectionPolicyOperationResults_Get", "tags": [ - "BackupEngines" - ], - "description": "Returns backup management server registered to Recovery Services Vault.", - "operationId": "BackupEngines_Get", - "produces": [ - "application/json" + "ProtectionPolicyOperationResults" ], + "description": "Provides the result of an operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "backupEngineName", + "name": "vaultName", "in": "path", - "description": "Name of the backup management server.", + "description": "vaults", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "policyName", + "in": "path", + "description": "The name of the ProtectionPolicyResource", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "operationId", + "in": "path", + "description": "The name of the ProtectionPolicyResource", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/BackupEngineBaseResource" + "$ref": "#/definitions/ProtectionPolicyResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", "x-ms-examples": { - "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { - "$ref": "./examples/Dpm/BackupEngines_Get.json" + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { + "operationId": "ProtectionPolicyOperationStatuses_Get", "tags": [ - "ProtectionContainerRefreshOperationResults" - ], - "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", - "operationId": "ProtectionContainerRefreshOperationResults_Get", - "produces": [ - "application/json" + "ProtectionPolicyOperationStatuses" ], + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\ncreate jobs. This method returns the list of jobs associated with operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { - "name": "fabricName", + "name": "policyName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "The name of the ProtectionPolicyResource", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "Operation ID associated with the operation whose result needs to be fetched.", + "description": "The name of the ProtectionPolicyResource", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Azure Vm Discovery Operation Result": { - "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { "get": { - "tags": [ - "ProtectableContainers" - ], - "description": "Lists the containers that can be registered to Recovery Services Vault.", - "operationId": "ProtectableContainers_List", - "produces": [ - "application/json" - ], + "operationId": "BackupProtectableItems_List", + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\npagination parameters.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "fabricName", - "in": "path", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "$filter", + "name": "$skipToken", "in": "query", - "description": "OData filter options.", + "description": "skipToken Filter.", "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectableContainerResourceList" + "$ref": "#/definitions/WorkloadProtectableItemResourceList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protectable items with backupManagementType filter as AzureStorage": { - "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { "get": { - "tags": [ - "ProtectionContainers" - ], - "description": "Gets details of the specific container registered to your Recovery Services Vault.", - "operationId": "ProtectionContainers_Get", - "produces": [ - "application/json" - ], + "operationId": "BackupProtectedItems_List", + "description": "Provides a pageable list of all items that are backed up within a vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Name of the container whose details need to be fetched.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/ProtectedItemResourceList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Protection Container Details": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { - "tags": [ - "ProtectionContainers" - ], - "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", - "operationId": "ProtectionContainers_Register", - "produces": [ - "application/json" - ], + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "get": { + "operationId": "BackupProtectionContainers_List", + "description": "Lists the containers registered to Recovery Services Vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "The name of the recovery services vault.", "required": true, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Name of the container to be registered.", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "Request body for operation", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectionContainerResource" - } + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/ProtectionContainerResourceList" } }, - "202": { - "description": "Accepted" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "RegisterAzure Storage ProtectionContainers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { - "tags": [ - "ProtectionContainers" - ], - "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", - "operationId": "ProtectionContainers_Unregister", - "produces": [ - "application/json" - ], + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { + "operationId": "BackupProtectionIntent_List", + "description": "Provides a pageable list of all intents that are present within a vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "fabricName", - "in": "path", - "description": "Name of the fabric where the container belongs.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProtectionIntentResourceList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Unregister Protection Container": { - "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": { + "get": { + "operationId": "ResourceGuardProxies_Get", "tags": [ - "ProtectionContainers" - ], - "summary": "Inquires all the protectable items under the given container.", - "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", - "operationId": "ProtectionContainers_Inquire", - "produces": [ - "application/json" + "ResourceGuardProxyBaseResources" ], + "description": "List the ResourceGuardProxies under vault", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric Name associated with the container.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "vaultName", "in": "path", - "description": "Name of the container in which inquiry needs to be triggered.", + "description": "The name of the VaultResource", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", "x-ms-examples": { - "Inquire Azure Storage Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + "Get VaultGuardProxies": { + "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { "get": { + "operationId": "ResourceGuardProxy_Get", "tags": [ - "BackupWorkloadItems" - ], - "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", - "operationId": "BackupWorkloadItems_List", - "produces": [ - "application/json" + "ResourceGuardProxyBaseResources" ], + "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "containerName", + "name": "resourceGuardProxyName", "in": "path", - "description": "Name of the container.", + "description": "", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadItemResourceList" + "$ref": "#/definitions/ResourceGuardProxyBaseResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Workload Items in Container": { - "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + "Get ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { - "get": { + }, + "put": { + "operationId": "ResourceGuardProxy_Put", "tags": [ - "ProtectionContainerOperationResults" - ], - "description": "Fetches the result of any operation on the container.", - "operationId": "ProtectionContainerOperationResults_Get", - "produces": [ - "application/json" + "ResourceGuardProxyBaseResources" ], + "description": "Add or Update ResourceGuardProxy under vault\nSecures vault critical operations", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "containerName", + "name": "resourceGuardProxyName", "in": "path", - "description": "Container name whose information should be fetched.", + "description": "", "required": true, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", + "name": "parameters", + "in": "body", + "description": "Request body for operation", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'ResourceGuardProxyBaseResource' update operation succeeded", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/ResourceGuardProxyBaseResource" } }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Azure Storage Protection Container Operation Result": { - "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + "Create ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { - "post": { + }, + "delete": { + "operationId": "ResourceGuardProxy_Delete", "tags": [ - "Backups" - ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", - "produces": [ - "application/json" + "ResourceGuardProxyBaseResources" ], + "description": "Delete ResourceGuardProxy under vault", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "containerName", + "name": "vaultName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "protectedItemName", + "name": "resourceGuardProxyName", "in": "path", - "description": "Backup item for which backup needs to be triggered.", + "description": "", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Trigger Backup": { - "$ref": "./examples/Common/TriggerBackup_Post.json" + "Delete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { + "post": { + "operationId": "ResourceGuardProxy_UnlockDelete", "tags": [ - "ProtectedItemOperationStatuses" - ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", - "operationId": "ProtectedItemOperationStatuses_Get", - "produces": [ - "application/json" + "ResourceGuardProxyBaseResources" ], + "description": "Secures delete ResourceGuardProxy operations.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "containerName", + "name": "vaultName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "protectedItemName", + "name": "resourceGuardProxyName", "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "", "required": true, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "OperationID represents the operation whose status needs to be fetched.", + "name": "parameters", + "in": "body", + "description": "Request body for operation", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/UnlockDeleteRequest" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/UnlockDeleteResponse" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Operation Status of Protected Vm": { - "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + "UnlockDelete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", - "operationId": "ItemLevelRecoveryConnections_Provision", - "produces": [ - "application/json" - ], + "operationId": "SecurityPINs_Get", + "description": "Get the security PIN.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "fabricName", + "name": "vaultName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "The name of the recovery services vault.", "required": true, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", - "required": true, + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, "type": "string" }, { "name": "parameters", "in": "body", - "description": "resource ILR request", - "required": true, + "description": "security pin request", + "required": false, "schema": { - "$ref": "#/definitions/ILRRequestResource" + "$ref": "#/definitions/SecurityPinBase" } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TokenInformation" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Provision Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost": { "post": { - "tags": [ - "ItemLevelRecoveryConnections" - ], - "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", - "operationId": "ItemLevelRecoveryConnections_Revoke", - "produces": [ - "application/json" - ], + "operationId": "FetchTieringCost_Post", + "description": "Provides the details of the tiering related sizes and cost.\nStatus of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "Container name associated with the backed up items.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", + "name": "vaultName", "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", + "description": "The name of the recovery services vault.", "required": true, - "type": "string" + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$" }, { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", + "name": "parameters", + "in": "body", + "description": "Fetch Tiering Cost Request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/FetchTieringCostInfoRequest" + } } ], "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } + }, "202": { - "description": "Accepted" + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Revoke Instant Item Level Recovery for Azure Vm": { - "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + "Get the rehydration cost for recovery point": { + "$ref": "./examples/TieringCost/FetchTieringCostForRehydrate.json" + }, + "Get the tiering savings cost info for policy": { + "$ref": "./examples/TieringCost/FetchTieringCostForPolicy.json" + }, + "Get the tiering savings cost info for protected item": { + "$ref": "./examples/TieringCost/FetchTieringCostForProtectedItem.json" + }, + "Get the tiering savings cost info for vault": { + "$ref": "./examples/TieringCost/FetchTieringCostForVault.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { - "post": { - "tags": [ - "ProtectionContainers" - ], - "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", - "operationId": "ProtectionContainers_Refresh", - "produces": [ - "application/json" - ], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}": { + "get": { + "operationId": "GetTieringCostOperationResult_Get", + "description": "Gets the result of async operation for tiering cost", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$" }, { - "name": "fabricName", + "name": "operationId", "in": "path", - "description": "Fabric name associated the container.", "required": true, "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TieringCostInfo" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", "x-ms-examples": { - "Trigger Azure Vm Discovery": { - "$ref": "./examples/Common/RefreshContainers.json" + "Fetch Tiering Cost Operation Result": { + "$ref": "./examples/TieringCost/GetTieringCostOperationResult.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}": { "get": { - "tags": [ - "BackupOperationResults" - ], - "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", - "operationId": "BackupOperationResults_Get", - "produces": [ - "application/json" - ], + "operationId": "TieringCostOperationStatus_Get", + "description": "Gets the status of async operations of tiering cost", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the operation.", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Result for Protected Item Delete Operation": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + "Fetch Tiering Cost Operation Status": { + "$ref": "./examples/TieringCost/GetTieringCostOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { - "get": { - "tags": [ - "BackupOperationStatuses" - ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", - "operationId": "BackupOperationStatuses_Get", - "produces": [ - "application/json" - ], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": { + "post": { + "operationId": "ValidateOperation_Trigger", + "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "operationId", - "in": "path", - "description": "OperationID which represents the operation.", + "name": "parameters", + "in": "body", + "description": "resource validate operation request", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Protected Item Delete Operation Status": { - "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + "Trigger Validate Operation": { + "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { "get": { - "tags": [ - "ProtectionPolicyOperationStatuses" - ], - "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", - "operationId": "ProtectionPolicyOperationStatuses_Get", - "produces": [ - "application/json" - ], + "operationId": "BackupUsageSummaries_List", + "description": "Fetches the backup management usage summaries of the vault.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "policyName", - "in": "path", - "description": "Backup policy name whose operation's status needs to be fetched.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents an operation whose status needs to be fetched.", - "required": true, + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/BackupManagementUsageList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Protection Policy Operation Status": { - "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + }, + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { - "get": { - "tags": [ - "BackupProtectableItems" - ], - "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", - "operationId": "BackupProtectableItems_List", - "produces": [ - "application/json" - ], + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation": { + "post": { + "operationId": "Operation_Validate", + "description": "Validate operation for specified backed up item. This is a synchronous operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "description": "resource validate operation request", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateOperationRequestResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadProtectableItemResourceList" + "$ref": "#/definitions/ValidateOperationsResponse" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSPOQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List protectable items with backupManagementType filter as AzureIaasVm": { - "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + }, + "Validate Operation with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": { "get": { - "tags": [ - "BackupProtectionContainers" - ], - "description": "Lists the containers registered to Recovery Services Vault.", - "operationId": "BackupProtectionContainers_List", - "produces": [ - "application/json" - ], + "operationId": "ValidateOperationResults_Get", + "description": "Fetches the result of a triggered validate operation.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionContainerResourceList" + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Backup Protection Containers": { - "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + "Get Operation Results of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": { "get": { - "tags": [ - "SoftDeletedContainers" - ], - "description": "Lists the soft deleted containers registered to Recovery Services Vault.", - "operationId": "DeletedProtectionContainers_List", - "produces": [ - "application/json" - ], + "operationId": "ValidateOperationStatuses_Get", + "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\nIf operation has completed, this method returns the list of errors obtained while validating the operation.", "parameters": [ { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ProtectionContainerResourceList" + "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-odata": "#/definitions/BMSContainerQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "List Backup Protection Containers": { - "$ref": "./examples/AzureStorage/SoftDeletedContainers_List.json" + "Get Operation Status of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig": { + "get": { + "operationId": "BackupResourceVaultConfigs_Get", "tags": [ - "SecurityPINs" - ], - "description": "Get the security PIN.", - "operationId": "SecurityPINs_Get", - "produces": [ - "application/json" + "BackupResourceVaultConfigResources" ], + "description": "Fetches resource vault config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "description": "security pin request", - "required": false, - "schema": { - "$ref": "#/definitions/SecurityPinBase" - } + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "x-ms-authorization-auxiliary", - "in": "header", + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/TokenInformation" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get Vault Security Pin": { - "$ref": "./examples/Common/BackupSecurityPin_Get.json" + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { - "post": { + }, + "put": { + "operationId": "BackupResourceVaultConfigs_Put", "tags": [ - "RecoveryPoint" - ], - "summary": "Move recovery point from one datastore to another store.", - "operationId": "MoveRecoveryPoint", - "produces": [ - "application/json" + "BackupResourceVaultConfigResources" ], + "description": "Updates vault security config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "containerName", - "in": "path", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "protectedItemName", + "name": "vaultName", "in": "path", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "recoveryPointId", - "in": "path", - "required": true, + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, "type": "string" }, { "name": "parameters", "in": "body", - "description": "Move Resource Across Tiers Request", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/MoveRPAcrossTiersRequest" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "Resource 'BackupResourceVaultConfigResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/BackupResourceVaultConfigResource" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Trigger RP Move Operation": { - "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { - "post": { + }, + "patch": { + "operationId": "BackupResourceVaultConfigs_Update", "tags": [ - "RecoveryPointsRecommendedForMove" - ], - "description": "Lists the recovery points recommended for move to another tier", - "operationId": "RecoveryPointsRecommendedForMove_List", - "produces": [ - "application/json" + "BackupResourceVaultConfigResources" ], + "description": "Updates vault security config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "fabricName", - "in": "path", - "required": true, - "type": "string" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "containerName", + "name": "vaultName", "in": "path", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "name": "protectedItemName", - "in": "path", - "required": true, + "name": "x-ms-authorization-auxiliary", + "in": "header", + "required": false, "type": "string" }, { "name": "parameters", "in": "body", - "description": "List Recovery points Recommended for Move Request", + "description": "resource config request", "required": true, "schema": { - "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" + "$ref": "#/definitions/BackupResourceVaultConfigResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Get Protected Azure Vm Recovery Points Recommended for Move": { - "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { "get": { + "operationId": "BackupResourceStorageConfigsNonCRR_Get", "tags": [ - "ResourceGuardProxies" - ], - "description": "List the ResourceGuardProxies under vault", - "operationId": "ResourceGuardProxies_Get", - "produces": [ - "application/json" + "BackupResourceConfigResources" ], + "description": "Fetches resource storage config.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + "$ref": "#/definitions/BackupResourceConfigResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Get VaultGuardProxies": { - "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { - "get": { + }, + "put": { + "operationId": "BackupResourceStorageConfigsNonCRR_Update", "tags": [ - "ResourceGuardProxy" - ], - "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", - "operationId": "ResourceGuardProxy_Get", - "produces": [ - "application/json" + "BackupResourceConfigResources" ], + "description": "Updates vault storage model type.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "resourceGuardProxyName", + "name": "vaultName", "in": "path", + "description": "The name of the VaultResource", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } } ], "responses": { "200": { - "description": "OK", + "description": "Resource 'BackupResourceConfigResource' update operation succeeded", "schema": { - "$ref": "#/definitions/ResourceGuardProxyBaseResource" + "$ref": "#/definitions/BackupResourceConfigResource" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get ResourceGuardProxy": { - "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" } } }, - "put": { + "patch": { + "operationId": "BackupResourceStorageConfigsNonCRR_patch", "tags": [ - "ResourceGuardProxy" - ], - "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations", - "operationId": "ResourceGuardProxy_Put", - "produces": [ - "application/json" + "BackupResourceConfigResources" ], + "description": "Updates vault storage model type.", "parameters": [ { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "resourceGuardProxyName", + "name": "vaultName", "in": "path", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { "name": "parameters", "in": "body", - "description": "Request body for operation", + "description": "Vault storage config request", "required": true, "schema": { - "$ref": "#/definitions/ResourceGuardProxyBaseResource" + "$ref": "#/definitions/BackupResourceConfigResource" } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ResourceGuardProxyBaseResource" - } + "204": { + "description": "Operation completed successfully." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Create ResourceGuardProxy": { - "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "operationId": "BMSPrepareDataMoveOperationResult_Get", "tags": [ - "ResourceGuardProxy" - ], - "description": "Delete ResourceGuardProxy under vault", - "operationId": "ResourceGuardProxy_Delete", - "produces": [ - "application/json" + "BackupResourceConfigOperationResults" ], + "description": "Fetches operation status for data move operation on vault", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" }, { - "name": "resourceGuardProxyName", + "name": "operationId", "in": "path", + "description": "The name of the BackupResourceConfigResource", "required": true, "type": "string" } ], "responses": { "200": { - "description": "OK" + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } }, - "204": { - "description": "NoContent" + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Delete ResourceGuardProxy": { - "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "operationId": "GetOperationStatus", "tags": [ - "ResourceGuardProxy" - ], - "description": "Secures delete ResourceGuardProxy operations.", - "operationId": "ResourceGuardProxy_UnlockDelete", - "produces": [ - "application/json" + "BackupResourceConfigOperationStatuses" ], + "description": "Fetches Operation Result for Prepare Data Move", "parameters": [ { - "$ref": "#/parameters/ApiVersion" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/VaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "resourceGuardProxyName", + "name": "vaultName", "in": "path", + "description": "vaults", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "Request body for operation", + "name": "operationId", + "in": "path", + "description": "The name of the BackupResourceConfigResource", "required": true, - "schema": { - "$ref": "#/definitions/UnlockDeleteRequest" - } + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/UnlockDeleteResponse" + "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "UnlockDelete ResourceGuardProxy": { - "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { "post": { + "operationId": "BMSPrepareDataMove", "tags": [ - "FetchTieringCost" - ], - "operationId": "FetchTieringCost_Post", - "description": "Provides the details of the tiering related sizes and cost.\r\nStatus of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API.", - "produces": [ - "application/json" + "BackupResourceConfigResources" ], + "description": "Prepares source vault for Data Move operation", "parameters": [ { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/RestrictedVaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersion" + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", - "description": "Fetch Tiering Cost Request", + "description": "Prepare data move request", "required": true, "schema": { - "$ref": "#/definitions/FetchTieringCostInfoRequest" + "$ref": "#/definitions/PrepareDataMoveRequest" } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TieringCostInfo" - } + "description": "The request has succeeded." }, "202": { - "description": "Accepted", + "description": "Resource operation accepted.", "headers": { "Location": { - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Get the tiering savings cost info for policy": { - "$ref": "./examples/TieringCost/FetchTieringCostForPolicy.json" - }, - "Get the tiering savings cost info for protected item": { - "$ref": "./examples/TieringCost/FetchTieringCostForProtectedItem.json" - }, - "Get the tiering savings cost info for vault": { - "$ref": "./examples/TieringCost/FetchTieringCostForVault.json" - }, - "Get the rehydration cost for recovery point": { - "$ref": "./examples/TieringCost/FetchTieringCostForRehydrate.json" + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "operationId": "BMSTriggerDataMove", "tags": [ - "GetTieringCostOperationResult" - ], - "description": "Gets the result of async operation for tiering cost", - "operationId": "GetTieringCostOperationResult_Get", - "produces": [ - "application/json" + "BackupResourceConfigResources" ], + "description": "Triggers Data Move Operation on target vault", "parameters": [ { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/RestrictedVaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "operationId", + "name": "vaultName", "in": "path", + "description": "The name of the VaultResource", "required": true, "type": "string" }, { - "$ref": "#/parameters/ApiVersion" + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TieringCostInfo" - } + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Fetch Tiering Cost Operation Result": { - "$ref": "./examples/TieringCost/GetTieringCostOperationResult.json" + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { + "operationId": "PrivateEndpointConnection_Get", "tags": [ - "TieringCostOperationStatus" + "PrivateEndpointConnectionResources" ], - "operationId": "TieringCostOperationStatus_Get", - "description": "Gets the status of async operations of tiering cost", - "produces": [ - "application/json" + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + } + } + }, + "put": { + "operationId": "PrivateEndpointConnection_Put", + "tags": [ + "PrivateEndpointConnectionResources" ], + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", "parameters": [ { - "$ref": "#/parameters/SubscriptionId" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ResourceGroupName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/RestrictedVaultName" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "operationId", + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'PrivateEndpointConnectionResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Resource 'PrivateEndpointConnectionResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "PrivateEndpointConnection_Delete", + "tags": [ + "PrivateEndpointConnectionResources" + ], + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "The name of the VaultResource", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "get": { + "operationId": "PrivateEndpoint_GetOperationStatus", + "tags": [ + "PrivateEndpointOperationStatuses" + ], + "description": "Gets the operation status for a private endpoint connection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "vaultName", + "in": "path", + "description": "vaults", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", "in": "path", + "description": "The name of the PrivateEndpointConnectionResource", "required": true, "type": "string" }, { - "$ref": "#/parameters/ApiVersion" + "name": "operationId", + "in": "path", + "description": "The name of the PrivateEndpointConnectionResource", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Fetch Tiering Cost Operation Status": { - "$ref": "./examples/TieringCost/GetTieringCostOperationStatus.json" + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" } } } } }, "definitions": { - "BackupResourceEncryptionConfig": { + "AcquireStorageAccountLock": { + "type": "string", + "description": "Whether storage account lock is to be acquired for this container or not.", + "enum": [ + "Acquire", + "NotAcquire" + ], + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true, + "values": [ + { + "name": "Acquire", + "value": "Acquire" + }, + { + "name": "NotAcquire", + "value": "NotAcquire" + } + ] + } + }, + "AzureBackupGoalFeatureSupportRequest": { + "type": "object", + "description": "Azure backup goal feature specific request.", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureBackupGoals" + }, + "AzureBackupServerContainer": { "type": "object", + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", "properties": { - "encryptionAtRestType": { - "description": "Encryption At Rest Type", - "enum": [ - "Invalid", - "MicrosoftManaged", - "CustomerManaged" - ], + "canReRegister": { + "type": "boolean", + "description": "Specifies whether the container is re-registrable." + }, + "containerId": { "type": "string", - "x-ms-enum": { - "name": "EncryptionAtRestType", - "modelAsString": true - } + "description": "ID of container." }, - "keyUri": { - "description": "Key Vault Key URI", - "type": "string" + "protectedItemCount": { + "type": "integer", + "format": "int64", + "description": "Number of protected items in the BackupEngine" }, - "subscriptionId": { - "description": "Key Vault Subscription Id", - "type": "string" + "dpmAgentVersion": { + "type": "string", + "description": "Backup engine Agent version" }, - "lastUpdateStatus": { - "enum": [ - "Invalid", - "NotEnabled", - "PartiallySucceeded", - "PartiallyFailed", - "Failed", - "Succeeded", - "Initialized", - "FirstInitialization" - ], - "type": "string", - "x-ms-enum": { - "name": "LastUpdateStatus", - "modelAsString": true + "dpmServers": { + "type": "array", + "description": "List of BackupEngines protecting the container", + "items": { + "type": "string" } }, - "infrastructureEncryptionState": { - "enum": [ - "Invalid", - "Disabled", - "Enabled" - ], + "upgradeAvailable": { + "type": "boolean", + "description": "To check if upgrade available" + }, + "protectionStatus": { "type": "string", - "x-ms-enum": { - "name": "InfrastructureEncryptionState", - "modelAsString": true - } + "description": "Protection status of the container." + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureBackupServerContainer" }, - "BackupResourceEncryptionConfigExtended": { + "AzureBackupServerEngine": { "type": "object", + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", "allOf": [ { - "$ref": "#/definitions/BackupResourceEncryptionConfig" + "$ref": "#/definitions/BackupEngineBase" } ], + "x-ms-discriminator-value": "AzureBackupServerEngine" + }, + "AzureFileShareBackupRequest": { + "type": "object", + "description": "AzureFileShare workload-specific backup request.", "properties": { - "userAssignedIdentity": { - "description": "User Assigned Identity Id", - "type": "string" - }, - "useSystemAssignedIdentity": { - "description": "bool to indicate whether to use system Assigned Identity or not", - "type": "boolean" + "recoveryPointExpiryTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC)." } - } - }, - "BackupResourceEncryptionConfigExtendedResource": { - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/BackupRequest" } ], + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectableItem": { + "type": "object", + "description": "Protectable item for Azure Fileshare workloads.", "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", - "description": "BackupResourceEncryptionConfigExtendedResource properties" + "parentContainerFabricId": { + "type": "string", + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID." + }, + "parentContainerFriendlyName": { + "type": "string", + "description": "Friendly name of container to which this protectable item belongs." + }, + "azureFileShareType": { + "$ref": "#/definitions/AzureFileShareType", + "description": "File Share type XSync or XSMB." } - } - }, - "BackupResourceEncryptionConfigResource": { + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceEncryptionConfig", - "description": "BackupResourceEncryptionConfigResource properties" - } - } - }, - "PrivateEndpoint": { - "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", - "type": "object", - "properties": { - "id": { - "description": "Gets or sets id", - "type": "string" - } - } + "x-ms-discriminator-value": "AzureFileShare" }, - "PrivateEndpointConnection": { - "description": "Private Endpoint Connection Response Properties", + "AzureFileShareProtectionPolicy": { "type": "object", + "description": "AzureStorage backup policy.", "properties": { - "provisioningState": { - "description": "Gets or sets provisioning state of the private endpoint connection", - "enum": [ - "Succeeded", - "Deleting", - "Failed", - "Pending" - ], - "type": "string", - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "workLoadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Type of workload for the backup management" }, - "privateEndpoint": { - "$ref": "#/definitions/PrivateEndpoint", - "description": "Gets or sets private endpoint associated with the private endpoint connection" + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." }, - "groupIds": { - "description": "Group Ids for the Private Endpoint", - "type": "array", - "items": { - "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery", - "enum": [ - "AzureBackup", - "AzureBackup_secondary", - "AzureSiteRecovery" - ], - "type": "string", - "x-ms-enum": { - "name": "VaultSubResourceType", - "modelAsString": true - } - } + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkServiceConnectionState", - "description": "Gets or sets private link service connection state" + "vaultRetentionPolicy": { + "$ref": "#/definitions/VaultRetentionPolicy", + "description": "Retention policy with the details on hardened backup copy retention ranges." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." } - } - }, - "PrivateEndpointConnectionResource": { - "description": "Private Endpoint Connection Response Properties", + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProtectionPolicy" } ], - "properties": { - "properties": { - "$ref": "#/definitions/PrivateEndpointConnection", - "description": "PrivateEndpointConnectionResource properties" - } - } + "x-ms-discriminator-value": "AzureStorage" }, - "PrivateLinkServiceConnectionState": { - "description": "Private Link Service Connection State", + "AzureFileShareProvisionILRRequest": { "type": "object", + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", "properties": { - "status": { - "description": "Gets or sets the status", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ], + "recoveryPointId": { "type": "string", - "x-ms-enum": { - "name": "PrivateEndpointConnectionStatus", - "modelAsString": true - } - }, - "description": { - "description": "Gets or sets description", - "type": "string" + "description": "Recovery point ID." }, - "actionsRequired": { - "description": "Gets or sets actions required", - "type": "string" - } - } - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "type": "object", - "$ref": "#/definitions/CloudErrorBody", - "description": "The error object." + "sourceResourceId": { + "type": "string", + "description": "Source Storage account ARM Id" } }, - "description": "An error response from the Container Instance service." + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" }, - "CloudErrorBody": { - "x-ms-external": true, + "AzureFileShareRecoveryPoint": { + "type": "object", + "description": "Azure File Share workload specific backup copy.", "properties": { - "code": { - "readOnly": true, + "recoveryPointType": { "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent." }, - "message": { - "readOnly": true, + "recoveryPointTime": { "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." + "format": "date-time", + "description": "Time at which this backup copy was created." }, - "target": { - "readOnly": true, + "fileShareSnapshotUri": { "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." + "description": "Contains Url to the snapshot of fileshare, if applicable" }, - "details": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "x-ms-identifiers": [ - "code" - ], - "description": "A list of additional details about the error." + "recoveryPointSizeInGB": { + "type": "integer", + "format": "int32", + "description": "Contains recovery point size" }, - "additionalInfo": { - "readOnly": true, + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" + }, + "recoveryPointTierDetails": { "type": "array", + "description": "Recovery point tier information.", "items": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + "$ref": "#/definitions/RecoveryPointTierInformation" }, - "x-ms-identifiers": [], - "description": "The error additional info." + "x-ms-identifiers": [] } }, - "description": "An error response from the Container Instance service." + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" }, - "NewErrorResponse": { + "AzureFileShareRestoreRequest": { + "type": "object", + "description": "AzureFileShare Restore Request", "properties": { - "error": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "The error code." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "The error message." - }, - "target": { - "readOnly": true, - "type": "string", - "description": "The error target." - }, - "details": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/NewErrorResponse" - }, - "x-ms-identifiers": [ - "/error/code" - ], - "description": "The error details." - }, - "additionalInfo": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" - }, - "x-ms-identifiers": [], - "description": "The error additional info." - } - } + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Source storage account ARM Id" + }, + "copyOptions": { + "$ref": "#/definitions/CopyOptions", + "description": "Options to resolve copy conflicts." + }, + "restoreRequestType": { + "$ref": "#/definitions/RestoreRequestType", + "description": "Restore Type (FullShareRestore or ItemLevelRestore)" + }, + "restoreFileSpecs": { + "type": "array", + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + }, + "x-ms-identifiers": [] + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" } }, - "description": "The resource management error response." - }, - "AzureFileshareProtectedItem": { - "description": "Azure File Share workload-specific backup item.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/RestoreRequest" } ], + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, + "AzureFileShareType": { + "type": "string", + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "XSMB", + "value": "XSMB" + }, + { + "name": "XSync", + "value": "XSync" + } + ] + } + }, + "AzureFileshareProtectedItem": { + "type": "object", + "description": "Azure File Share workload-specific backup item.", "properties": { "friendlyName": { - "description": "Friendly name of the fileshare represented by this backup item.", - "type": "string" + "type": "string", + "description": "Friendly name of the fileshare represented by this backup item." }, "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" + "type": "string", + "description": "Backup status of this backup item." }, "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." }, "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" + "type": "string", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." }, "lastBackupTime": { + "type": "string", "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" + "description": "Timestamp of the last backup operation on this backup item." }, "kpisHealths": { - "description": "Health details of different KPIs", "type": "object", + "description": "Health details of different KPIs", "additionalProperties": { "$ref": "#/definitions/KPIResourceHealthDetails" } @@ -5146,382 +5469,358 @@ "description": "Additional information with this backup item." } }, + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "x-ms-discriminator-value": "AzureFileShareProtectedItem" }, "AzureFileshareProtectedItemExtendedInfo": { - "description": "Additional information about Azure File Share backup item.", "type": "object", + "description": "Additional information about Azure File Share backup item.", "properties": { "oldestRecoveryPoint": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", - "type": "string" + "description": "The oldest backup copy available for this item in the service." }, "recoveryPointCount": { + "type": "integer", "format": "int32", - "description": "Number of available backup copies associated with this backup item.", - "type": "integer" + "description": "Number of available backup copies associated with this backup item." }, "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." }, "resourceState": { - "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", "type": "string", + "description": "Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted}", "readOnly": true }, "resourceStateSyncTime": { + "type": "string", "format": "date-time", "description": "The resource state sync time for this backup item.", - "type": "string", "readOnly": true } } }, - "AzureFileShareRecoveryPoint": { - "description": "Azure File Share workload specific backup copy.", + "AzureIaaSClassicComputeVMContainer": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "properties": { - "recoveryPointType": { - "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", - "type": "string" - }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" - }, - "fileShareSnapshotUri": { - "description": "Contains Url to the snapshot of fileshare, if applicable", - "type": "string" - }, - "recoveryPointSizeInGB": { - "format": "int32", - "description": "Contains recovery point size", - "type": "integer" + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." }, - "recoveryPointProperties": { - "description": "Properties of Recovery Point", - "$ref": "#/definitions/RecoveryPointProperties" + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformation" - }, - "x-ms-identifiers": [] + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." } }, - "x-ms-discriminator-value": "AzureFileShareRecoveryPoint" - }, - "AzureFileShareRestoreRequest": { - "description": "AzureFileShare Restore Request", - "type": "object", "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/ProtectionContainer" } ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSClassicComputeVMProtectableItem": { + "type": "object", + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], + "virtualMachineId": { "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "Source storage account ARM Id", - "type": "string" + "description": "Fully qualified ARM ID of the virtual machine." }, - "copyOptions": { - "description": "Options to resolve copy conflicts.", - "enum": [ - "Invalid", - "CreateCopy", - "Skip", - "Overwrite", - "FailOnConflict" - ], + "virtualMachineVersion": { "type": "string", - "x-ms-enum": { - "name": "CopyOptions", - "modelAsString": true - } + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." }, - "restoreRequestType": { - "description": "Restore Type (FullShareRestore or ItemLevelRestore)", - "enum": [ - "Invalid", - "FullShareRestore", - "ItemLevelRestore" - ], + "resourceGroup": { "type": "string", - "x-ms-enum": { - "name": "RestoreRequestType", - "modelAsString": true - } - }, - "restoreFileSpecs": { - "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", - "type": "array", - "items": { - "$ref": "#/definitions/RestoreFileSpecs" - }, - "x-ms-identifiers": [] - }, - "targetDetails": { - "$ref": "#/definitions/TargetAFSRestoreInfo", - "description": "Target File Share Details" + "description": "Resource group name of Recovery Services Vault." } }, - "x-ms-discriminator-value": "AzureFileShareRestoreRequest" - }, - "AzureVmWorkloadProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/WorkloadProtectableItem" } ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "type": "object", + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item.", + "readOnly": true }, - "settings": { - "$ref": "#/definitions/Settings", - "description": "Common settings for the backup management" + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "readOnly": true }, - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item." + }, + "protectionState": { + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." + }, + "healthStatus": { + "$ref": "#/definitions/HealthStatus", + "description": "Health status of protected item.", + "readOnly": true + }, + "healthDetails": { "type": "array", + "description": "Health details on this backup item.", "items": { - "$ref": "#/definitions/SubProtectionPolicy" + "$ref": "#/definitions/AzureIaaSVMHealthDetails" }, - "x-ms-identifiers": [] + "x-ms-identifiers": [ + "code" + ] }, - "makePolicyConsistent": { - "description": "Fix the policy inconsistency", - "type": "boolean" - } - }, - "x-ms-discriminator-value": "AzureWorkload" - }, - "AzureFileShareProtectionPolicy": { - "description": "AzureStorage backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "workLoadType": { - "description": "Type of workload for the backup management", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true + "kpisHealths": { + "type": "object", + "description": "Health details of different KPIs", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" } }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status." }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "readOnly": true }, - "vaultRetentionPolicy": { - "$ref": "#/definitions/VaultRetentionPolicy", - "description": "Retention policy with the details on hardened backup copy retention ranges." + "protectedItemDataId": { + "type": "string", + "description": "Data ID of the protected item.", + "readOnly": true }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties", + "description": "Extended Properties for Azure IaasVM Backup." + }, + "policyType": { + "type": "string", + "description": "Type of the policy used for protection", + "readOnly": true } }, - "x-ms-discriminator-value": "AzureStorage" - }, - "AzureIaaSClassicComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" + "$ref": "#/definitions/ProtectedItem" } ], "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" }, - "AzureIaaSComputeVMProtectedItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "AzureIaaSComputeVMContainer": { "type": "object", + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "properties": { + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." + }, + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + } + }, "allOf": [ { - "$ref": "#/definitions/AzureIaaSVMProtectedItem" + "$ref": "#/definitions/ProtectionContainer" } ], "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureIaaSVMErrorInfo": { - "description": "Azure IaaS VM workload-specific error information.", + "AzureIaaSComputeVMProtectableItem": { "type": "object", + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer", - "readOnly": true - }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", + "virtualMachineId": { "type": "string", - "readOnly": true + "description": "Fully qualified ARM ID of the virtual machine." }, - "errorString": { - "description": "Localized error string.", + "virtualMachineVersion": { "type": "string", - "readOnly": true + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "ResourceHealthDetails": { - "description": "Health Details for backup items.", + "AzureIaaSComputeVMProtectedItem": { "type": "object", + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer", + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item.", "readOnly": true }, - "title": { - "description": "Health Title", + "virtualMachineId": { "type": "string", + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", "readOnly": true }, - "message": { - "description": "Health Message", + "protectionStatus": { "type": "string", + "description": "Backup status of this backup item." + }, + "protectionState": { + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." + }, + "healthStatus": { + "$ref": "#/definitions/HealthStatus", + "description": "Health status of protected item.", "readOnly": true }, - "recommendations": { - "description": "Health Recommended Actions", + "healthDetails": { "type": "array", + "description": "Health details on this backup item.", "items": { - "type": "string" + "$ref": "#/definitions/AzureIaaSVMHealthDetails" }, - "readOnly": true - } - } - }, - "AzureIaaSVMHealthDetails": { - "description": "Azure IaaS VM workload-specific Health Details.", - "type": "object", + "x-ms-identifiers": [ + "code" + ] + }, + "kpisHealths": { + "type": "object", + "description": "Health details of different KPIs", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "lastBackupStatus": { + "type": "string", + "description": "Last backup operation status." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "readOnly": true + }, + "protectedItemDataId": { + "type": "string", + "description": "Data ID of the protected item.", + "readOnly": true + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + }, + "extendedProperties": { + "$ref": "#/definitions/ExtendedProperties", + "description": "Extended Properties for Azure IaasVM Backup." + }, + "policyType": { + "type": "string", + "description": "Type of the policy used for protection", + "readOnly": true + } + }, "allOf": [ { - "$ref": "#/definitions/ResourceHealthDetails" + "$ref": "#/definitions/ProtectedItem" } - ] + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" }, - "AzureIaaSVMJob": { - "description": "Azure IaaS VM workload-specific job object.", + "AzureIaaSVMErrorInfo": { + "type": "object", + "description": "Azure IaaS VM workload-specific error information.", + "properties": { + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code.", + "readOnly": true + }, + "errorTitle": { + "type": "string", + "description": "Title: Typically, the entity that the error pertains to.", + "readOnly": true + }, + "errorString": { + "type": "string", + "description": "Localized error string.", + "readOnly": true + }, + "recommendations": { + "type": "array", + "description": "List of localized recommendations for above error code.", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "AzureIaaSVMHealthDetails": { "type": "object", + "description": "Azure IaaS VM workload-specific Health Details.", "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/ResourceHealthDetails" } - ], + ] + }, + "AzureIaaSVMJob": { + "type": "object", + "description": "Azure IaaS VM workload-specific job object.", "properties": { "duration": { + "type": "string", "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" + "description": "Time elapsed during the execution of this job." }, "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "$ref": "#/definitions/JobSupportedAction" } }, "errorDetails": { - "description": "Error details on execution of this job.", "type": "array", + "description": "Error details on execution of this job.", "items": { "$ref": "#/definitions/AzureIaaSVMErrorInfo" }, @@ -5530,86 +5829,36 @@ ] }, "virtualMachineVersion": { - "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", - "type": "string" + "type": "string", + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM." }, "extendedInfo": { "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", "description": "Additional information for this job." }, "containerName": { - "description": "Container name of the entity on which the current job is executing.", - "type": "string" + "type": "string", + "description": "Container name of the entity on which the current job is executing." }, "isUserTriggered": { - "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", - "type": "boolean" + "type": "boolean", + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)" } }, - "x-ms-discriminator-value": "AzureIaaSVMJob" - }, - "AzureIaaSVMJobV2": { - "description": "Azure IaaS VM workload-specific job object.", - "type": "object", "allOf": [ { "$ref": "#/definitions/Job" } ], - "properties": { - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "containerName": { - "description": "Container name of the entity on which the current job is executing.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMErrorInfo" - }, - "x-ms-identifiers": [ - "errorCode" - ] - }, - "virtualMachineVersion": { - "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", - "description": "Additional information for this job." - } - }, - "x-ms-discriminator-value": "AzureIaaSVMJobV2" + "x-ms-discriminator-value": "AzureIaaSVMJob" }, "AzureIaaSVMJobExtendedInfo": { - "description": "Azure IaaS VM workload-specific additional information for job.", "type": "object", + "description": "Azure IaaS VM workload-specific additional information for job.", "properties": { "tasksList": { - "description": "List of tasks associated with this job.", "type": "array", + "description": "List of tasks associated with this job.", "items": { "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" }, @@ -5618,134 +5867,152 @@ ] }, "propertyBag": { - "description": "Job properties.", "type": "object", + "description": "Job properties.", "additionalProperties": { "type": "string" } }, "internalPropertyBag": { - "description": "Job internal properties.", "type": "object", + "description": "Job internal properties.", "additionalProperties": { "type": "string" } }, "progressPercentage": { + "type": "number", "format": "double", - "description": "Indicates progress of the job. Null if it has not started or completed.", - "type": "number" + "description": "Indicates progress of the job. Null if it has not started or completed." }, "estimatedRemainingDuration": { - "description": "Time remaining for execution of this job.", - "type": "string" + "type": "string", + "description": "Time remaining for execution of this job." }, "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" + "type": "string", + "description": "Non localized error message on job execution." } } }, "AzureIaaSVMJobTaskDetails": { - "description": "Azure IaaS VM workload-specific job task details.", "type": "object", + "description": "Azure IaaS VM workload-specific job task details.", "properties": { "taskId": { - "description": "The task display name.", - "type": "string" + "type": "string", + "description": "The task display name." }, "startTime": { + "type": "string", "format": "date-time", - "description": "The start time.", - "type": "string" + "description": "The start time." }, "endTime": { + "type": "string", "format": "date-time", - "description": "The end time.", - "type": "string" + "description": "The end time." }, "instanceId": { - "description": "The instanceId.", - "type": "string" + "type": "string", + "description": "The instanceId." }, "duration": { + "type": "string", "format": "duration", - "description": "Time elapsed for task.", - "type": "string" + "description": "Time elapsed for task." }, "status": { - "description": "The status.", - "type": "string" + "type": "string", + "description": "The status." }, "progressPercentage": { + "type": "number", "format": "double", - "description": "Progress of the task.", - "type": "number" + "description": "Progress of the task." }, "taskExecutionDetails": { - "description": "Details about execution of the task.\r\neg: number of bytes transferred etc", - "type": "string" + "type": "string", + "description": "Details about execution of the task.\neg: number of bytes transferred etc" } } }, - "AzureIaaSVMProtectedItem": { - "description": "IaaS VM workload-specific backup item.", + "AzureIaaSVMJobV2": { "type": "object", + "description": "Azure IaaS VM workload-specific job object.", + "properties": { + "actionsInfo": { + "type": "array", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "items": { + "$ref": "#/definitions/JobSupportedAction" + } + }, + "containerName": { + "type": "string", + "description": "Container name of the entity on which the current job is executing." + }, + "duration": { + "type": "string", + "format": "duration", + "description": "Time elapsed during the execution of this job." + }, + "errorDetails": { + "type": "array", + "description": "Error details on execution of this job.", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM." + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/Job" } ], + "x-ms-discriminator-value": "AzureIaaSVMJobV2" + }, + "AzureIaaSVMProtectedItem": { + "type": "object", + "description": "IaaS VM workload-specific backup item.", "properties": { "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", "type": "string", + "description": "Friendly name of the VM represented by this backup item.", "readOnly": true }, "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", "type": "string", + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", "readOnly": true }, "protectionStatus": { - "description": "Backup status of this backup item.", - "type": "string" + "type": "string", + "description": "Backup status of this backup item." }, "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." }, "healthStatus": { + "$ref": "#/definitions/HealthStatus", "description": "Health status of protected item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - }, "readOnly": true }, "healthDetails": { - "description": "Health details on this backup item.", "type": "array", + "description": "Health details on this backup item.", "items": { "$ref": "#/definitions/AzureIaaSVMHealthDetails" }, @@ -5754,25 +6021,25 @@ ] }, "kpisHealths": { - "description": "Health details of different KPIs", "type": "object", + "description": "Health details of different KPIs", "additionalProperties": { "$ref": "#/definitions/KPIResourceHealthDetails" } }, "lastBackupStatus": { - "description": "Last backup operation status.", - "type": "string" + "type": "string", + "description": "Last backup operation status." }, "lastBackupTime": { + "type": "string", "format": "date-time", "description": "Timestamp of the last backup operation on this backup item.", - "type": "string", "readOnly": true }, "protectedItemDataId": { - "description": "Data ID of the protected item.", "type": "string", + "description": "Data ID of the protected item.", "readOnly": true }, "extendedInfo": { @@ -5780,59 +6047,60 @@ "description": "Additional information for this backup item." }, "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties" + "$ref": "#/definitions/ExtendedProperties", + "description": "Extended Properties for Azure IaasVM Backup." }, "policyType": { - "description": "Type of the policy used for protection", "type": "string", + "description": "Type of the policy used for protection", "readOnly": true } }, + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" }, "AzureIaaSVMProtectedItemExtendedInfo": { - "description": "Additional information on Azure IaaS VM specific backup item.", "type": "object", + "description": "Additional information on Azure IaaS VM specific backup item.", "properties": { "oldestRecoveryPoint": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item across all tiers.", - "type": "string" + "description": "The oldest backup copy available for this backup item across all tiers." }, "oldestRecoveryPointInVault": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item in vault tier", - "type": "string" + "description": "The oldest backup copy available for this backup item in vault tier" }, "oldestRecoveryPointInArchive": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item in archive tier", - "type": "string" + "description": "The oldest backup copy available for this backup item in archive tier" }, "newestRecoveryPointInArchive": { + "type": "string", "format": "date-time", - "description": "The latest backup copy available for this backup item in archive tier", - "type": "string" + "description": "The latest backup copy available for this backup item in archive tier" }, "recoveryPointCount": { + "type": "integer", "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" + "description": "Number of backup copies available for this backup item." }, "policyInconsistent": { - "description": "Specifies if backup policy associated with the backup item is inconsistent.", - "type": "boolean" + "type": "boolean", + "description": "Specifies if backup policy associated with the backup item is inconsistent." } } }, "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], + "description": "IaaS VM workload-specific backup policy.", "properties": { "instantRPDetails": { "$ref": "#/definitions/InstantRPAdditionalDetails" @@ -5846,174 +6114,242 @@ "description": "Retention policy with the details on backup copy retention ranges." }, "tieringPolicy": { - "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", "type": "object", + "description": "Tiering policy to automatically move RPs to another tier\nKey is Target Tier, defined in RecoveryPointTierType enum.\nTiering policy specifies the criteria to move RP to the target tier.", "additionalProperties": { "$ref": "#/definitions/TieringPolicy" } }, "instantRpRetentionRangeInDays": { + "type": "integer", "format": "int32", - "description": "Instant RP retention policy range in days", - "type": "integer" + "description": "Instant RP retention policy range in days" }, "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "type": "string", + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." }, "policyType": { - "enum": [ - "Invalid", - "V1", - "V2" - ], - "type": "string", - "x-ms-enum": { - "name": "IAASVMPolicyType", - "modelAsString": true - } + "$ref": "#/definitions/IAASVMPolicyType" }, "snapshotConsistencyType": { - "enum": [ - "OnlyCrashConsistent" - ], - "type": "string", - "x-ms-enum": { - "name": "IaasVMSnapshotConsistencyType", - "modelAsString": true - } + "$ref": "#/definitions/IaasVMSnapshotConsistencyType" } }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], "x-ms-discriminator-value": "AzureIaasVM" }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", + "AzureRecoveryServiceVaultProtectionIntent": { "type": "object", + "description": "Azure Recovery Services Vault specific protection intent item.", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "type": "object", + "description": "IaaS VM specific backup protection intent item.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the VM represented by this backup item." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "type": "object", + "description": "Container for SQL workloads under SQL Availability Group.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the virtual machine represented by this Azure Workload Container" + }, + "lastUpdatedTime": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was updated." + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type for which registration was sent." + }, + "operationType": { + "$ref": "#/definitions/OperationType", + "description": "Re-Do Operation" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "type": "object", + "description": "Azure Sql workload-specific container.", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" } ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureSqlProtectedItem": { + "type": "object", + "description": "Azure SQL workload-specific backup item.", "properties": { "protectedItemDataId": { - "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", - "type": "string" + "type": "string", + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services." }, "protectionState": { - "description": "Backup state of the backed up item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } + "$ref": "#/definitions/ProtectedItemState", + "description": "Backup state of the backed up item." }, "extendedInfo": { "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", "description": "Additional information for this backup item." } }, + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" }, "AzureSqlProtectedItemExtendedInfo": { - "description": "Additional information on Azure Sql specific protected item.", "type": "object", + "description": "Additional information on Azure Sql specific protected item.", "properties": { "oldestRecoveryPoint": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", - "type": "string" + "description": "The oldest backup copy available for this item in the service." }, "recoveryPointCount": { + "type": "integer", "format": "int32", - "description": "Number of available backup copies associated with this backup item.", - "type": "integer" + "description": "Number of available backup copies associated with this backup item." }, "policyState": { - "description": "State of the backup policy associated with this backup item.", - "type": "string" + "type": "string", + "description": "State of the backup policy associated with this backup item." } } }, + "AzureSqlProtectionPolicy": { + "type": "object", + "description": "Azure SQL workload-specific backup policy.", + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageContainer": { + "type": "object", + "description": "Azure Storage Account workload-specific container.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM url." + }, + "storageAccountVersion": { + "type": "string", + "description": "Storage account version." + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + }, + "protectedItemCount": { + "type": "integer", + "format": "int64", + "description": "Number of items backed up in this container." + }, + "acquireStorageAccountLock": { + "$ref": "#/definitions/AcquireStorageAccountLock", + "description": "Whether storage account lock is to be acquired for this container or not." + }, + "operationType": { + "$ref": "#/definitions/OperationType", + "description": "Re-Do Operation" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, "AzureStorageErrorInfo": { - "description": "Azure storage specific error information", "type": "object", + "description": "Azure storage specific error information", "properties": { "errorCode": { + "type": "integer", "format": "int32", - "description": "Error code.", - "type": "integer" + "description": "Error code." }, "errorString": { - "description": "Localized error string.", - "type": "string" + "type": "string", + "description": "Localized error string." }, "recommendations": { - "description": "List of localized recommendations for above error code.", "type": "array", + "description": "List of localized recommendations for above error code.", "items": { "type": "string" } } } }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionPolicy" - } - ], - "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "AzureSql" - }, "AzureStorageJob": { - "description": "Azure storage specific job.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], + "description": "Azure storage specific job.", "properties": { "duration": { + "type": "string", "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" + "description": "Time elapsed during the execution of this job." }, "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "type": "array", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "$ref": "#/definitions/JobSupportedAction" } }, "errorDetails": { - "description": "Error details on execution of this job.", "type": "array", + "description": "Error details on execution of this job.", "items": { "$ref": "#/definitions/AzureStorageErrorInfo" }, @@ -6022,31 +6358,36 @@ ] }, "storageAccountName": { - "description": "Specifies friendly name of the storage account.", - "type": "string" + "type": "string", + "description": "Specifies friendly name of the storage account." }, "storageAccountVersion": { - "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", - "type": "string" + "type": "string", + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account." }, "extendedInfo": { "$ref": "#/definitions/AzureStorageJobExtendedInfo", "description": "Additional information about the job." }, "isUserTriggered": { - "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", - "type": "boolean" + "type": "boolean", + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)" } }, + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], "x-ms-discriminator-value": "AzureStorageJob" }, "AzureStorageJobExtendedInfo": { - "description": "Azure Storage workload-specific additional information for job.", "type": "object", + "description": "Azure Storage workload-specific additional information for job.", "properties": { "tasksList": { - "description": "List of tasks for this job", "type": "array", + "description": "List of tasks for this job", "items": { "$ref": "#/definitions/AzureStorageJobTaskDetails" }, @@ -6055,4100 +6396,3794 @@ ] }, "propertyBag": { - "description": "Job properties.", "type": "object", + "description": "Job properties.", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" + "type": "string", + "description": "Non localized error message on job execution." } } }, "AzureStorageJobTaskDetails": { - "description": "Azure storage workload specific job task details.", "type": "object", + "description": "Azure storage workload specific job task details.", "properties": { "taskId": { - "description": "The task display name.", - "type": "string" + "type": "string", + "description": "The task display name." }, "status": { - "description": "The status.", - "type": "string" + "type": "string", + "description": "The status." } } }, - "AzureVmWorkloadProtectedItem": { - "description": "Azure VM workload-specific protected item.", + "AzureStorageProtectableContainer": { "type": "object", + "description": "Azure Storage-specific protectable containers", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "type": "object", + "description": "Azure workload-specific container", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" } ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "type": "object", + "description": "Container for SQL workloads under Azure Virtual Machines.", "properties": { - "friendlyName": { - "description": "Friendly name of the DB represented by this backup item.", + "sourceResourceId": { "type": "string", - "readOnly": true + "description": "ARM ID of the virtual machine represented by this Azure Workload Container" }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" + "lastUpdatedTime": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was updated." }, - "parentName": { - "description": "Parent name of the DB such as Instance or Availability Group.", - "type": "string" + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." }, - "parentType": { - "description": "Parent type of protected item, example: for a DB, standalone server or distributed", - "type": "string" + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type for which registration was sent." }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "operationType": { + "$ref": "#/definitions/OperationType", + "description": "Re-Do Operation" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMResourceFeatureSupportRequest": { + "type": "object", + "description": "AzureResource(IaaS VM) Specific feature support request", + "properties": { + "vmSize": { "type": "string", - "readOnly": true + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM" }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } + "vmSku": { + "type": "string", + "description": "SKUs (Premium/Managed etc) in case of IaasVM" + } + }, + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "type": "object", + "description": "Response for feature support requests for Azure IaasVm", + "properties": { + "supportStatus": { + "$ref": "#/definitions/SupportStatus", + "description": "Support status of feature" + } + } + }, + "AzureVmWorkloadItem": { + "type": "object", + "description": "Azure VM workload-specific workload item.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "IRPending" - ], + "serverName": { "type": "string", - "x-ms-enum": { - "name": "LastBackupStatus", - "modelAsString": true - } + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + } + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadItem" + }, + "AzureVmWorkloadProtectableItem": { + "type": "object", + "description": "Azure VM workload-specific protectable item.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" + } + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + }, + "AzureVmWorkloadProtectedItem": { + "type": "object", + "description": "Azure VM workload-specific protected item.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the DB represented by this backup item.", + "readOnly": true + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "parentName": { + "type": "string", + "description": "Parent name of the DB such as Instance or Availability Group." + }, + "parentType": { + "type": "string", + "description": "Parent type of protected item, example: for a DB, standalone server or distributed" + }, + "protectionStatus": { + "type": "string", + "description": "Backup status of this backup item.", + "readOnly": true + }, + "protectionState": { + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." + }, + "lastBackupStatus": { + "$ref": "#/definitions/LastBackupStatus", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy." }, "lastBackupTime": { + "type": "string", "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" + "description": "Timestamp of the last backup operation on this backup item." }, "lastBackupErrorDetail": { "$ref": "#/definitions/ErrorDetail", "description": "Error details in last backup" }, "protectedItemDataSourceId": { - "description": "Data ID of the protected item.", - "type": "string" + "type": "string", + "description": "Data ID of the protected item." }, "protectedItemHealthStatus": { - "description": "Health status of the backup item, evaluated based on last heartbeat received", - "enum": [ - "Invalid", - "Healthy", - "Unhealthy", - "NotReachable", - "IRPending" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemHealthStatus", - "modelAsString": true - } + "$ref": "#/definitions/ProtectedItemHealthStatus", + "description": "Health status of the backup item, evaluated based on last heartbeat received" }, "extendedInfo": { "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", "description": "Additional information for this backup item." }, "kpisHealths": { - "description": "Health details of different KPIs", "type": "object", + "description": "Health details of different KPIs", "additionalProperties": { "$ref": "#/definitions/KPIResourceHealthDetails" } }, "nodesList": { - "description": "List of the nodes in case of distributed container.", "type": "array", + "description": "List of the nodes in case of distributed container.", "items": { "$ref": "#/definitions/DistributedNodesInfo" }, "x-ms-identifiers": [] } }, + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" }, "AzureVmWorkloadProtectedItemExtendedInfo": { - "description": "Additional information on Azure Workload for SQL specific backup item.", "type": "object", + "description": "Additional information on Azure Workload for SQL specific backup item.", "properties": { "oldestRecoveryPoint": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item across all tiers.", - "type": "string" + "description": "The oldest backup copy available for this backup item across all tiers." }, "oldestRecoveryPointInVault": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item in vault tier", - "type": "string" + "description": "The oldest backup copy available for this backup item in vault tier" }, "oldestRecoveryPointInArchive": { + "type": "string", "format": "date-time", - "description": "The oldest backup copy available for this backup item in archive tier", - "type": "string" + "description": "The oldest backup copy available for this backup item in archive tier" }, "newestRecoveryPointInArchive": { + "type": "string", "format": "date-time", - "description": "The latest backup copy available for this backup item in archive tier", - "type": "string" + "description": "The latest backup copy available for this backup item in archive tier" }, "recoveryPointCount": { + "type": "integer", "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" + "description": "Number of backup copies available for this backup item." }, "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." }, "recoveryModel": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." } } }, - "AzureVmWorkloadSAPAseDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP ASE Database.", + "AzureVmWorkloadProtectionPolicy": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "description": "Azure VM (Mercury) workload-specific backup policy.", + "properties": { + "workLoadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Type of workload for the backup management" + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "type": "array", + "description": "List of sub-protection policies which includes schedule and retention", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "makePolicyConsistent": { + "type": "boolean", + "description": "Fix the policy inconsistency" } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" - }, - "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "$ref": "#/definitions/ProtectionPolicy" } ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" + "x-ms-discriminator-value": "AzureWorkload" }, - "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { - "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.", + "AzureVmWorkloadSAPAseDatabaseProtectableItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "description": "Azure VM workload-specific protectable item representing SAP ASE Database.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } - ], - "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance" - }, - "AzureVmWorkloadSQLDatabaseProtectedItem": { - "description": "Azure VM workload-specific protected item representing SQL Database.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectedItem" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + "x-ms-discriminator-value": "SAPAseDatabase" }, - "AzureWorkloadErrorInfo": { - "description": "Azure storage specific error information", + "AzureVmWorkloadSAPAseDatabaseProtectedItem": { "type": "object", + "description": "Azure VM workload-specific protected item representing SAP ASE Database.", "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "recoveryPointTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", - "type": "string" + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "recommendations": { - "description": "List of localized recommendations for above error code.", + "recoveryPointTierDetails": { "type": "array", + "description": "Recovery point tier information.", "items": { - "type": "string" + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" } }, - "additionalDetails": { - "description": "Additional details for above error code.", - "type": "string" + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } - } - }, - "AzureWorkloadJob": { - "description": "Azure storage specific job.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" + }, + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "type": "object", + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", "properties": { - "workloadType": { - "description": "Workload type of the job", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadErrorInfo" - }, - "x-ms-identifiers": [ - "errorCode" - ] + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", - "description": "Additional information about the job." + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" } }, - "x-ms-discriminator-value": "AzureWorkloadJob" + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseDatabase" }, - "AzureWorkloadJobExtendedInfo": { - "description": "Azure VM workload-specific additional information for job.", + "AzureVmWorkloadSAPAseSystemProtectableItem": { "type": "object", + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", "properties": { - "tasksList": { - "description": "List of tasks for this job", - "type": "array", - "items": { - "$ref": "#/definitions/AzureWorkloadJobTaskDetails" - }, - "x-ms-identifiers": [ - "taskId" - ] + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureWorkloadJobTaskDetails": { - "description": "Azure VM workload specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" }, - "status": { - "description": "The status.", - "type": "string" + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } - } - }, - "AzureWorkloadPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "type": "object", + "description": "Azure VM workload-specific workload item representing SAP ASE System.", "properties": { - "timeRanges": { - "description": "List of log ranges", - "type": "array", - "items": { - "$ref": "#/definitions/PointInTimeRange" - }, - "x-ms-identifiers": [] + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" } }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, - "AzureWorkloadPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/WorkloadItem" } ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPHanaDBInstance": { + "type": "object", + "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.", "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } }, - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRecoveryPoint": { - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], + "x-ms-discriminator-value": "SAPHanaDBInstance" + }, + "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { + "type": "object", + "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.", "properties": { "recoveryPointTimeInUTC": { + "type": "string", "format": "date-time", - "description": "UTC time at which recovery point was created", - "type": "string" + "description": "UTC time at which recovery point was created" }, "type": { - "description": "Type of restore point", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "Incremental", - "SnapshotFull", - "SnapshotCopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointType", - "modelAsString": true - } + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, "recoveryPointTierDetails": { - "description": "Recovery point tier information.", "type": "array", + "description": "Recovery point tier information.", "items": { "$ref": "#/definitions/RecoveryPointTierInformationV2" }, "x-ms-identifiers": [] }, "recoveryPointMoveReadinessInfo": { - "description": "Eligibility of RP to be moved to another tier", "type": "object", + "description": "Eligibility of RP to be moved to another tier", "additionalProperties": { "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" } }, "recoveryPointProperties": { - "description": "Properties of Recovery Point", - "$ref": "#/definitions/RecoveryPointProperties" + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } }, - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, - "AzureWorkloadRestoreRequest": { - "description": "AzureWorkload-specific restore.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "type": "object", + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", "properties": { - "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], + "parentName": { "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } + "description": "Name for instance or AG" }, - "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", - "type": "string" + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." }, - "propertyBag": { - "description": "Workload specific property bag.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" }, - "recoveryMode": { - "description": "Defines whether the current recovery mode is file restore or database restore", - "enum": [ - "Invalid", - "FileRecovery", - "WorkloadRecovery", - "SnapshotAttach", - "RecoveryUsingSnapshot", - "SnapshotAttachAndRecover" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryMode", - "modelAsString": true - } + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" }, - "targetResourceGroupName": { - "description": "Defines the Resource group of the Target VM", - "type": "string" + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\r\nCurrently used for snapshot." + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\r\nCurrently used for snapshot for SAP Hana." + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" }, - "targetVirtualMachineId": { - "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", - "type": "string" + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } }, - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPHana", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], + "description": "Azure VM workload-specific protected item representing SAP HANA Database.", "properties": { - "pointInTime": { + "recoveryPointTimeInUTC": { + "type": "string", "format": "date-time", - "description": "PointInTime value", - "type": "string" + "description": "UTC time at which recovery point was created" + }, + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" + }, + "recoveryPointTierDetails": { + "type": "array", + "description": "Recovery point tier information.", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" }, - "AzureWorkloadSAPHanaRestoreRequest": { - "description": "AzureWorkload SAP Hana-specific restore.", + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { "type": "object", + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + } + }, "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/WorkloadItem" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + "x-ms-discriminator-value": "SAPHanaDatabase" }, - "AzureWorkloadSAPAsePointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime in SAPAse", + "AzureVmWorkloadSAPHanaHSRProtectableItem": { "type": "object", + "description": "Azure VM workload-specific protectable item representing HANA HSR.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" + } + }, "allOf": [ { - "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRecoveryPoint" + "x-ms-discriminator-value": "HanaHSRContainer" }, - "AzureWorkloadSAPAsePointInTimeRestoreRequest": { - "description": "AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore", + "AzureVmWorkloadSAPHanaSystemProtectableItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPAseRestoreRequest" - } - ], + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } }, - "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRestoreRequest" - }, - "AzureWorkloadSAPAseRecoveryPoint": { - "description": "SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPAseRecoveryPoint" + "x-ms-discriminator-value": "SAPHanaSystem" }, - "AzureWorkloadSAPAseRestoreRequest": { - "description": "AzureWorkload SAP Ase-specific restore.", + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { "type": "object", + "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "properties": { + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + } + }, "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/WorkloadItem" } ], - "x-ms-discriminator-value": "AzureWorkloadSAPAseRestoreRequest" + "x-ms-discriminator-value": "SAPHanaSystem" }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "description": "Recovery point specific to PointInTime", + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" - } - ], + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", "properties": { - "timeRanges": { - "description": "List of log ranges", + "nodesList": { "type": "array", + "description": "List of the nodes in case of distributed container.", "items": { - "$ref": "#/definitions/PointInTimeRange" + "$ref": "#/definitions/DistributedNodesInfo" }, "x-ms-identifiers": [] + }, + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" - }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" - } - ], - "properties": { - "pointInTime": { - "format": "date-time", - "description": "PointInTime value", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" - }, - "AzureWorkloadSQLRecoveryPoint": { - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + "$ref": "#/definitions/WorkloadProtectableItem" } ], - "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "description": "Extended info class details", + "AzureVmWorkloadSQLDatabaseProtectableItem": { "type": "object", + "description": "Azure VM workload-specific protectable item representing SQL Database.", "properties": { - "dataDirectoryTimeInUTC": { - "format": "date-time", - "description": "UTC time at which data directory info was captured", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "dataDirectoryPaths": { - "description": "List of data directory paths during restore operation.", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - }, - "x-ms-identifiers": [] + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" + }, + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } - } - }, - "AzureWorkloadSQLRestoreRequest": { - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/AzureWorkloadRestoreRequest" + "$ref": "#/definitions/WorkloadProtectableItem" } ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "type": "object", + "description": "Azure VM workload-specific protected item representing SQL Database.", "properties": { - "shouldUseAlternateTargetLocation": { - "description": "Default option set to true. If this is set to false, alternate data directory must be provided", - "type": "boolean" + "recoveryPointTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "isNonRecoverable": { - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", - "type": "boolean" + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "alternateDirectoryPaths": { - "description": "Data directory details", + "recoveryPointTierDetails": { "type": "array", + "description": "Recovery point tier information.", "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" + "$ref": "#/definitions/RecoveryPointTierInformationV2" }, "x-ms-identifiers": [] - } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" - }, - "BEKDetails": { - "description": "BEK is bitlocker encryption key.", - "type": "object", - "properties": { - "secretUrl": { - "description": "Secret is BEK.", - "type": "string" }, - "secretVaultId": { - "description": "ID of the Key Vault where this Secret is stored.", - "type": "string" + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } }, - "secretData": { - "description": "BEK data.", - "type": "string" + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" }, - "BMSRPQueryObject": { - "description": "Filters to list backup copies.", + "AzureVmWorkloadSQLDatabaseWorkloadItem": { "type": "object", + "description": "Azure VM workload-specific workload item representing SQL Database.", "properties": { - "startDate": { - "format": "date-time", - "description": "Backup copies created after this time.", - "type": "string" - }, - "endDate": { - "format": "date-time", - "description": "Backup copies created before this time.", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "restorePointQueryType": { - "description": "RestorePoint type", - "enum": [ - "Invalid", - "Full", - "Log", - "Differential", - "FullAndDifferential", - "All", - "Incremental", - "SnapshotFull", - "SnapshotCopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "RestorePointQueryType", - "modelAsString": true - } + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" }, - "extendedInfo": { - "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", - "type": "boolean" + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" }, - "moveReadyRPOnly": { - "description": "Whether the RP can be moved to another tier", - "type": "boolean" + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" }, - "includeSoftDeletedRP": { - "description": "Flag to indicate whether Soft Deleted RPs should be included/excluded from result.", - "type": "boolean" + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" } - } - }, - "DiskExclusionProperties": { - "type": "object", - "properties": { - "diskLunList": { - "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "isInclusionList": { - "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup.", - "type": "boolean" + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" } - } + ], + "x-ms-discriminator-value": "SQLDataBase" }, - "ClientDiscoveryDisplay": { - "description": "Localized display information of an operation.", + "AzureVmWorkloadSQLInstanceProtectableItem": { "type": "object", + "description": "Azure VM workload-specific protectable item representing SQL Instance.", "properties": { - "provider": { - "description": "Name of the provider for display purposes", - "type": "string" + "parentName": { + "type": "string", + "description": "Name for instance or AG" }, - "resource": { - "description": "ResourceType for which this Operation can be performed.", - "type": "string" + "parentUniqueName": { + "type": "string", + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." }, - "operation": { - "description": "Operations Name itself.", - "type": "string" + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" }, - "description": { - "description": "Description of the operation having details of what operation is about.", - "type": "string" - } - } - }, - "ClientDiscoveryForLogSpecification": { - "description": "Class to represent shoebox log specification in json client discovery.", - "type": "object", - "properties": { - "name": { - "description": "Name for shoebox log specification.", - "type": "string" + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protectable" }, - "displayName": { - "description": "Localized display name", - "type": "string" + "isAutoProtected": { + "type": "boolean", + "description": "Indicates if protectable item is auto-protected" }, - "blobDuration": { - "description": "blob duration of shoebox log specification", - "type": "string" + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subprotectableitemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + }, + "isProtectable": { + "type": "boolean", + "description": "Indicates if item is protectable" } - } - }, - "ClientDiscoveryForProperties": { - "description": "Class to represent shoebox properties in json client discovery.", - "type": "object", - "properties": { - "serviceSpecification": { - "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", - "description": "Operation properties." + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" } - } + ], + "x-ms-discriminator-value": "SQLInstance" }, - "ClientDiscoveryForServiceSpecification": { - "description": "Class to represent shoebox service specification in json client discovery.", + "AzureVmWorkloadSQLInstanceWorkloadItem": { "type": "object", + "description": "Azure VM workload-specific workload item representing SQL Instance.", "properties": { - "logSpecifications": { - "description": "List of log specifications of this operation.", + "dataDirectoryPaths": { "type": "array", + "description": "Data Directory Paths for default directories", "items": { - "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + "$ref": "#/definitions/SQLDataDirectory" }, "x-ms-identifiers": [] + }, + "parentName": { + "type": "string", + "description": "Name for instance or AG" + }, + "serverName": { + "type": "string", + "description": "Host/Cluster Name for instance or AG" + }, + "isAutoProtectable": { + "type": "boolean", + "description": "Indicates if workload item is auto-protectable" + }, + "subinquireditemcount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's present" + }, + "subWorkloadItemCount": { + "type": "integer", + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" }, - "ClientDiscoveryResponse": { - "description": "Operations List response which contains list of available APIs.", + "AzureWorkloadAutoProtectionIntent": { "type": "object", - "properties": { - "value": { - "description": "List of available operations.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" - }, - "x-ms-identifiers": [] - }, - "nextLink": { - "description": "Link to the next chunk of Response.", - "type": "string" + "description": "Azure Recovery Services Vault specific protection intent item.", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" } - } + ], + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" }, - "ClientDiscoveryValueForSingleApi": { - "description": "Available operation details.", + "AzureWorkloadBackupRequest": { "type": "object", + "description": "AzureWorkload workload-specific backup request.", "properties": { - "name": { - "description": "Name of the Operation.", - "type": "string" + "backupType": { + "$ref": "#/definitions/BackupType", + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull" }, - "display": { - "$ref": "#/definitions/ClientDiscoveryDisplay", - "description": "Contains the localized display information for this particular operation" + "enableCompression": { + "type": "boolean", + "description": "Bool for Compression setting" }, - "origin": { - "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/ClientDiscoveryForProperties", - "description": "ShoeBox properties for the given operation." + "recoveryPointExpiryTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC)." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" }, - "DiskInformation": { - "description": "Disk information", + "AzureWorkloadContainer": { "type": "object", + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", "properties": { - "lun": { - "format": "int32", - "type": "integer" + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the virtual machine represented by this Azure Workload Container" }, - "name": { - "type": "string" + "lastUpdatedTime": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was updated." + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type for which registration was sent." + }, + "operationType": { + "$ref": "#/definitions/OperationType", + "description": "Re-Do Operation" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureWorkloadContainer" }, - "DailyRetentionFormat": { - "description": "Daily retention format.", + "AzureWorkloadContainerAutoProtectionIntent": { "type": "object", - "properties": { - "daysOfTheMonth": { - "description": "List of days of the month.", - "type": "array", - "items": { - "$ref": "#/definitions/Day" - }, - "x-ms-identifiers": [] + "description": "Azure workload specific protection intent item.", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" } - } + ], + "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent" }, - "DailyRetentionSchedule": { - "description": "Daily retention schedule.", + "AzureWorkloadContainerExtendedInfo": { "type": "object", + "description": "Extended information of the container.", "properties": { - "retentionTimes": { - "description": "Retention times of retention policy.", + "hostServerName": { + "type": "string", + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container." + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { "type": "array", + "description": "List of the nodes in case of distributed container.", "items": { - "format": "date-time", - "type": "string" - } - }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + "$ref": "#/definitions/DistributedNodesInfo" + }, + "x-ms-identifiers": [] } } }, - "Day": { - "description": "Day of the week.", + "AzureWorkloadErrorInfo": { "type": "object", + "description": "Azure storage specific error information", "properties": { - "date": { + "errorCode": { + "type": "integer", "format": "int32", - "description": "Date of the month", - "type": "integer" + "description": "Error code." }, - "isLast": { - "description": "Whether Date is last date of month", - "type": "boolean" - } - } - }, - "DpmErrorInfo": { - "description": "DPM workload-specific error information.", - "type": "object", - "properties": { "errorString": { - "description": "Localized error string.", - "type": "string" + "type": "string", + "description": "Localized error string." + }, + "errorTitle": { + "type": "string", + "description": "Title: Typically, the entity that the error pertains to." }, "recommendations": { - "description": "List of localized recommendations for above error code.", "type": "array", + "description": "List of localized recommendations for above error code.", "items": { "type": "string" } + }, + "additionalDetails": { + "type": "string", + "description": "Additional details for above error code." } } }, - "DpmJob": { - "description": "DPM workload-specific job object.", + "AzureWorkloadJob": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], + "description": "Azure storage specific job.", "properties": { + "workloadType": { + "type": "string", + "description": "Workload type of the job" + }, "duration": { + "type": "string", "format": "duration", - "description": "Time elapsed for job.", - "type": "string" - }, - "dpmServerName": { - "description": "DPM server name managing the backup item or backup job.", - "type": "string" - }, - "containerName": { - "description": "Name of cluster/server protecting current backup item, if any.", - "type": "string" - }, - "containerType": { - "description": "Type of container.", - "type": "string" - }, - "workloadType": { - "description": "Type of backup item.", - "type": "string" + "description": "Time elapsed during the execution of this job." }, "actionsInfo": { - "description": "The state/actions applicable on this job like cancel/retry.", "type": "array", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "$ref": "#/definitions/JobSupportedAction" } }, "errorDetails": { - "description": "The errors.", "type": "array", + "description": "Error details on execution of this job.", "items": { - "$ref": "#/definitions/DpmErrorInfo" + "$ref": "#/definitions/AzureWorkloadErrorInfo" }, - "x-ms-identifiers": [] + "x-ms-identifiers": [ + "errorCode" + ] }, "extendedInfo": { - "$ref": "#/definitions/DpmJobExtendedInfo", - "description": "Additional information for this job." + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." } }, - "x-ms-discriminator-value": "DpmJob" - }, - "BackupResourceConfigResource": { - "description": "The resource storage details.", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/Job" } ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceConfig", - "description": "BackupResourceConfigResource properties" - } - } - }, - "BackupResourceConfig": { - "description": "The resource storage details.", - "type": "object", - "properties": { - "storageModelType": { - "description": "Storage type", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", - "enum": [ - "Invalid", - "Locked", - "Unlocked" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageTypeState", - "modelAsString": true - } - }, - "crossRegionRestoreFlag": { - "description": "Opt in details of Cross Region Restore feature.", - "type": "boolean" - }, - "dedupState": { - "description": "Vault Dedup state", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "dedupState", - "modelAsString": true - } - }, - "xcoolState": { - "description": "Vault x-cool state", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "xcoolState", - "modelAsString": true - } - } - } + "x-ms-discriminator-value": "AzureWorkloadJob" }, - "DpmJobExtendedInfo": { - "description": "Additional information on the DPM workload-specific job.", + "AzureWorkloadJobExtendedInfo": { "type": "object", + "description": "Azure VM workload-specific additional information for job.", "properties": { "tasksList": { - "description": "List of tasks associated with this job.", "type": "array", + "description": "List of tasks for this job", "items": { - "$ref": "#/definitions/DpmJobTaskDetails" + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" }, "x-ms-identifiers": [ "taskId" ] }, "propertyBag": { - "description": "The job properties.", "type": "object", + "description": "Job properties.", "additionalProperties": { "type": "string" } }, "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" + "type": "string", + "description": "Non localized error message on job execution." } } }, - "DpmJobTaskDetails": { - "description": "DPM workload-specific job task details.", + "AzureWorkloadJobTaskDetails": { "type": "object", + "description": "Azure VM workload specific job task details.", "properties": { "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" + "type": "string", + "description": "The task display name." }, "status": { - "description": "The status.", - "type": "string" + "type": "string", + "description": "The status." } } }, - "DPMProtectedItem": { - "description": "Additional information on Backup engine specific backup item.", + "AzureWorkloadPointInTimeRecoveryPoint": { "type": "object", + "description": "Recovery point specific to PointInTime", + "properties": { + "timeRanges": { + "type": "array", + "description": "List of log ranges", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadPointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "properties": { - "friendlyName": { - "description": "Friendly name of the managed item", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Management server protecting this backup item", - "type": "string" + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" }, - "protectionState": { - "description": "Protection state of the backup engine", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "extendedInfo": { - "$ref": "#/definitions/DPMProtectedItemExtendedInfo", - "description": "Extended info of the backup item." - } - }, - "x-ms-discriminator-value": "DPMProtectedItem" - }, - "DPMProtectedItemExtendedInfo": { - "description": "Additional information of DPM Protected item.", - "type": "object", - "properties": { - "protectableObjectLoadPath": { - "description": "Attribute to provide information on various DBs.", + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." + }, + "propertyBag": { "type": "object", + "description": "Workload specific property bag.", "additionalProperties": { "type": "string" } }, - "protected": { - "description": "To check if backup item is disk protected.", - "type": "boolean" - }, - "isPresentOnCloud": { - "description": "To check if backup item is cloud protected.", - "type": "boolean" - }, - "lastBackupStatus": { - "description": "Last backup status information on backup item.", - "type": "string" - }, - "lastRefreshedAt": { - "format": "date-time", - "description": "Last refresh time on backup item.", - "type": "string" - }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest cloud recovery point time.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "cloud recovery point count.", - "type": "integer" - }, - "onPremiseOldestRecoveryPoint": { - "format": "date-time", - "description": "Oldest disk recovery point time.", - "type": "string" - }, - "onPremiseLatestRecoveryPoint": { - "format": "date-time", - "description": "latest disk recovery point time.", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "onPremiseRecoveryPointCount": { - "format": "int32", - "description": "disk recovery point count.", - "type": "integer" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "isCollocated": { - "description": "To check if backup item is collocated.", - "type": "boolean" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "protectionGroupName": { - "description": "Protection group name of the backup item.", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "diskStorageUsedInBytes": { - "description": "Used Disk storage in bytes.", - "type": "string" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." }, - "totalDiskStorageSizeInBytes": { - "description": "total Disk storage in bytes.", - "type": "string" + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "EncryptionDetails": { - "description": "Details needed if the VM was encrypted at the time of backup.", - "type": "object", - "properties": { - "encryptionEnabled": { - "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup.", - "type": "boolean" - }, - "kekUrl": { - "description": "Key Url.", - "type": "string" - }, - "secretKeyUrl": { - "description": "Secret Url.", - "type": "string" - }, - "kekVaultId": { - "description": "ID of Key Vault where KEK is stored.", - "type": "string" - }, - "secretKeyVaultId": { - "description": "ID of Key Vault where Secret is stored.", - "type": "string" + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" } - } + ], + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, - "ErrorDetail": { - "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "AzureWorkloadRecoveryPoint": { "type": "object", + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", "properties": { - "code": { - "description": "Error code.", + "recoveryPointTimeInUTC": { "type": "string", - "readOnly": true + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "message": { - "description": "Error Message related to the Code.", - "type": "string", - "readOnly": true + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "recommendations": { - "description": "List of recommendation strings.", + "recoveryPointTierDetails": { "type": "array", + "description": "Recovery point tier information.", "items": { - "type": "string" + "$ref": "#/definitions/RecoveryPointTierInformationV2" }, - "readOnly": true + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } - } - }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "type": "object", + "description": "AzureWorkload-specific restore.", "properties": { - "blobUrl": { - "description": "URL of the blob into which the serialized string of list of jobs is exported.", - "type": "string" + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "blobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "excelFileBlobUrl": { - "description": "URL of the blob into which the ExcelFile is uploaded.", - "type": "string" + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { + "type": "string" + } }, - "excelFileBlobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", - "type": "string" - } - }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" - }, - "ExtendedProperties": { - "description": "Extended Properties for Azure IaasVM Backup.", - "type": "object", - "properties": { - "diskExclusionProperties": { - "$ref": "#/definitions/DiskExclusionProperties", - "description": "Extended Properties for Disk Exclusion." + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "linuxVmApplicationName": { - "description": "Linux VM name", - "type": "string" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" + }, + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "GenericProtectionPolicy": { - "description": "Azure VM (Mercury) workload-specific backup policy.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/RestoreRequest" } ], + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPAsePointInTimeRecoveryPoint": { + "type": "object", + "description": "Recovery point specific to PointInTime in SAPAse", "properties": { - "subProtectionPolicy": { - "description": "List of sub-protection policies which includes schedule and retention", + "timeRanges": { "type": "array", + "description": "List of log ranges", "items": { - "$ref": "#/definitions/SubProtectionPolicy" + "$ref": "#/definitions/PointInTimeRange" }, "x-ms-identifiers": [] - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" - }, - "fabricName": { - "description": "Name of this policy's fabric.", - "type": "string" } }, - "x-ms-discriminator-value": "GenericProtectionPolicy" + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRecoveryPoint" }, - "HourlySchedule": { + "AzureWorkloadSAPAsePointInTimeRestoreRequest": { "type": "object", + "description": "AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore", "properties": { - "interval": { - "format": "int32", - "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12", - "type": "integer" - }, - "scheduleWindowStartTime": { + "pointInTime": { + "type": "string", "format": "date-time", - "description": "To specify start time of the backup window", - "type": "string" + "description": "PointInTime value" }, - "scheduleWindowDuration": { - "format": "int32", - "description": "To specify duration of the backup window", - "type": "integer" - } - } - }, - "DailySchedule": { - "type": "object", - "properties": { - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." + }, + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { "type": "string" } - } - } - }, - "WeeklySchedule": { - "type": "object", - "properties": { - "scheduleRunDays": { - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } - } - } - }, - "IdentityBasedRestoreDetails": { - "description": "IaaS VM workload specific restore details for restores using managed identity", - "type": "object", - "properties": { - "objectType": { - "description": "Gets the class type.", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "targetStorageAccountId": { - "description": "Fully qualified ARM ID of the target storage account.", - "type": "string" - } - } - }, - "IdentityInfo": { - "description": "Encapsulates Managed Identity related information", - "type": "object", - "properties": { - "isSystemAssignedIdentity": { - "description": "To differentiate if the managed identity is system assigned or user assigned", - "type": "boolean" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "managedIdentityResourceId": { - "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity", - "type": "string" - } - } - }, - "InstantRPAdditionalDetails": { - "type": "object", - "properties": { - "azureBackupRGNamePrefix": { - "type": "string" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "azureBackupRGNameSuffix": { - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "GenericProtectedItem": { - "description": "Base class for backup items.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/RestoreRequest" } ], + "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRestoreRequest" + }, + "AzureWorkloadSAPAseRecoveryPoint": { + "type": "object", + "description": "SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints", "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "policyState": { - "description": "Indicates consistency of policy object and policy applied to this backup item.", - "type": "string" + "recoveryPointTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused", - "BackupsSuspended" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionState", - "modelAsString": true - } + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "protectedItemId": { - "format": "int64", - "description": "Data Plane Service ID of the protected item.", - "type": "integer" + "recoveryPointTierDetails": { + "type": "array", + "description": "Recovery point tier information.", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] }, - "sourceAssociations": { - "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "recoveryPointMoveReadinessInfo": { "type": "object", + "description": "Eligibility of RP to be moved to another tier", "additionalProperties": { - "type": "string" + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" } }, - "fabricName": { - "description": "Name of this backup item's fabric.", - "type": "string" + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } }, - "x-ms-discriminator-value": "GenericProtectedItem" - }, - "GenericRecoveryPoint": { - "description": "Generic backup copy.", - "type": "object", "allOf": [ { "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureWorkloadSAPAseRecoveryPoint" + }, + "AzureWorkloadSAPAseRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Ase-specific restore.", "properties": { - "friendlyName": { - "description": "Friendly name of the backup copy.", - "type": "string" + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "recoveryPointTime": { - "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { + "type": "string" + } }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "recoveryPointProperties": { - "description": "Properties of Recovery Point", - "$ref": "#/definitions/RecoveryPointProperties" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" + }, + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } }, - "x-ms-discriminator-value": "GenericRecoveryPoint" + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAseRestoreRequest" }, - "GetProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { "type": "object", + "description": "Recovery point specific to PointInTime in SAPHana", "properties": { - "expand": { - "description": "Specifies if the additional information should be provided for this item.", - "type": "string" + "timeRanges": { + "type": "array", + "description": "List of log ranges", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] } - } - }, - "IaasVMRecoveryPoint": { - "description": "IaaS VM workload specific backup copy.", - "type": "object", + }, "allOf": [ { "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", "properties": { - "recoveryPointType": { - "description": "Type of the backup copy.", - "type": "string" - }, - "recoveryPointTime": { + "pointInTime": { + "type": "string", "format": "date-time", - "description": "Time at which this backup copy was created.", - "type": "string" + "description": "PointInTime value" }, - "recoveryPointAdditionalInfo": { - "description": "Additional information associated with this backup copy.", - "type": "string" + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "sourceVMStorageType": { - "description": "Storage type of the VM whose backup copy is created.", - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "isSourceVMEncrypted": { - "description": "Identifies whether the VM was encrypted when the backup copy is created.", - "type": "boolean" + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { + "type": "string" + } }, - "keyAndSecret": { - "$ref": "#/definitions/KeyAndSecretDetails", - "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "isInstantIlrSessionActive": { - "description": "Is the session to recover items from this backup copy still active.", - "type": "boolean" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "recoveryPointTierDetails": { - "description": "Recovery point tier information.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "isManagedVirtualMachine": { - "description": "Whether VM is with Managed Disks", - "type": "boolean" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "virtualMachineSize": { - "description": "Virtual Machine Size", - "type": "string" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" + } + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" }, - "osType": { - "description": "OS type", - "type": "string" + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" }, - "recoveryPointDiskConfiguration": { - "$ref": "#/definitions/RecoveryPointDiskConfiguration", - "description": "Disk configuration" + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "zones": { - "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", - "type": "array", - "items": { - "type": "string" - } + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "recoveryPointMoveReadinessInfo": { - "description": "Eligibility of RP to be moved to another tier", + "propertyBag": { "type": "object", + "description": "Workload specific property bag.", "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + "type": "string" } }, - "securityType": { - "description": "Security Type of the Disk", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "recoveryPointProperties": { - "description": "Properties of Recovery Point", - "$ref": "#/definitions/RecoveryPointProperties" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "isPrivateAccessEnabledOnAnyDisk": { - "description": "This flag denotes if any of the disks in the VM are using Private access network setting", - "type": "boolean" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation", - "description": "Extended location of the VM recovery point,\r\nshould be null if VM is in public cloud" - } - }, - "x-ms-discriminator-value": "IaasVMRecoveryPoint" - }, - "ExtendedLocation": { - "description": "The extended location of Recovery point where VM was present.", - "type": "object", - "properties": { - "name": { - "description": "Name of the extended location.", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "type": { - "description": "Type of the extended location. Possible values include: 'EdgeZone'", - "type": "string" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "SecuredVMDetails": { - "description": "Restore request parameters for Secured VMs", - "type": "object", - "properties": { - "securedVMOsDiskEncryptionSetId": { - "description": "Gets or Sets Disk Encryption Set Id for Secured VM OS Disk", - "type": "string" + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" } - } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" }, - "TargetDiskNetworkAccessSettings": { - "description": "Specifies target network access settings for disks of VM to be restored.", + "AzureWorkloadSAPHanaRecoveryPoint": { "type": "object", + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", "properties": { - "targetDiskNetworkAccessOption": { - "description": "Network access settings to be used for restored disks", - "enum": [ - "SameAsOnSourceDisks", - "EnablePrivateAccessForAllDisks", - "EnablePublicAccessForAllDisks" - ], + "recoveryPointTimeInUTC": { "type": "string", - "x-ms-enum": { - "name": "TargetDiskNetworkAccessOption" + "format": "date-time", + "description": "UTC time at which recovery point was created" + }, + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" + }, + "recoveryPointTierDetails": { + "type": "array", + "description": "Recovery point tier information.", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" } }, - "targetDiskAccessId": { - "description": "Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew", - "type": "string" + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } - } - }, - "IaasVMRestoreRequest": { - "description": "IaaS VM workload-specific restore.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/RecoveryPoint" } ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana-specific restore.", "properties": { - "recoveryPointId": { - "description": "ID of the backup copy to be recovered.", - "type": "string" - }, "recoveryType": { - "description": "Type of this recovery.", - "enum": [ - "Invalid", - "OriginalLocation", - "AlternateLocation", - "RestoreDisks", - "Offline" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryType", - "modelAsString": true - } + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, "sourceResourceId": { - "description": "Fully qualified ARM ID of the VM which is being recovered.", - "type": "string" - }, - "targetVirtualMachineId": { - "description": "This is the complete ARM Id of the VM that will be created.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", - "type": "string" - }, - "targetResourceGroupId": { - "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}", - "type": "string" - }, - "storageAccountId": { - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored.", - "type": "string" - }, - "virtualNetworkId": { - "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser will be validated for join action permissions in the linked access.", - "type": "string" - }, - "subnetId": { - "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe subnet.", - "type": "string" - }, - "targetDomainNameId": { - "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.", - "type": "string" - }, - "region": { - "description": "Region in which the virtual machine is restored.", - "type": "string" - }, - "affinityGroup": { - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines.", - "type": "string" - }, - "createNewCloudService": { - "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.", - "type": "boolean" - }, - "originalStorageAccountOption": { - "description": "Original Storage Account Option", - "type": "boolean" - }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Details needed if the VM was encrypted at the time of backup." - }, - "restoreDiskLunList": { - "description": "List of Disk LUNs for partial restore", - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "restoreWithManagedDisks": { - "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", - "type": "boolean" - }, - "diskEncryptionSetId": { - "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", - "type": "string" + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "zones": { - "description": "Target zone where the VM and its disks should be restored.", - "type": "array", - "items": { + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { "type": "string" } }, - "identityInfo": { - "$ref": "#/definitions/IdentityInfo", - "description": "Managed Identity information required to access customer storage account." + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "identityBasedRestoreDetails": { - "$ref": "#/definitions/IdentityBasedRestoreDetails", - "description": "IaaS VM workload specific restore details for restores using managed identity." + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation", - "description": "Target extended location where the VM should be restored,\r\nshould be null if restore is to be done in public cloud" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "securedVMDetails": { - "$ref": "#/definitions/SecuredVMDetails", - "description": "Stores Secured VM Details" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "targetDiskNetworkAccessSettings": { - "$ref": "#/definitions/TargetDiskNetworkAccessSettings", - "description": "Specifies target network access settings for disks of VM to be restored," + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } }, - "x-ms-discriminator-value": "IaasVMRestoreRequest" - }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { "type": "object", + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", - "type": "string" + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" }, - "backupManagementType": { - "description": "Backup management type to execute the current job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." + }, + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { + "type": "string" } }, - "operation": { - "description": "The operation name.", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "status": { - "description": "Job status.", - "type": "string" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "activityId": { - "description": "ActivityId of job.", - "type": "string" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } }, - "discriminator": "jobType" + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" }, - "JobQueryObject": { - "description": "Filters to list the jobs.", + "AzureWorkloadSQLAutoProtectionIntent": { "type": "object", + "description": "Azure Workload SQL Auto Protection intent item.", "properties": { - "status": { - "description": "Status of the job.", - "enum": [ - "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" - ], - "type": "string", - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup management for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData", - "CrossRegionRestore", - "Undelete", - "UpdateCustomerManagedKey" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } - }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", - "type": "string" + "workloadItemType": { + "$ref": "#/definitions/WorkloadItemType", + "description": "Workload item type of the item for which intent is to be set" } - } - }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProtectionIntent" } ], - "properties": { - "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource properties" - } - } + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" }, - "JobResourceList": { - "description": "List of Job resources", + "AzureWorkloadSQLPointInTimeRecoveryPoint": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "Recovery point specific to PointInTime", "properties": { - "value": { - "description": "List of resources.", + "timeRanges": { "type": "array", + "description": "List of log ranges", "items": { - "$ref": "#/definitions/JobResource" - } - } - } - }, - "KEKDetails": { - "description": "KEK is encryption key for BEK.", - "type": "object", - "properties": { - "keyUrl": { - "description": "Key is KEK.", - "type": "string" - }, - "keyVaultId": { - "description": "Key Vault ID where this Key is stored.", - "type": "string" + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] }, - "keyBackupData": { - "description": "KEK data.", - "type": "string" - } - } - }, - "KeyAndSecretDetails": { - "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.", - "type": "object", - "properties": { - "kekDetails": { - "$ref": "#/definitions/KEKDetails", - "description": "KEK is encryption key for BEK." + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\nWhen a specific recovery point is accessed using GetRecoveryPoint\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" }, - "bekDetails": { - "$ref": "#/definitions/BEKDetails", - "description": "BEK is bitlocker encryption key." + "recoveryPointTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "encryptionMechanism": { - "description": "Encryption mechanism: None/ SinglePass/ DoublePass", - "type": "string" - } - } - }, - "LogSchedulePolicy": { - "description": "Log policy schedule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], - "properties": { - "scheduleFrequencyInMins": { - "format": "int32", - "description": "Frequency of the log schedule operation of this policy in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "LogSchedulePolicy" - }, - "LongTermRetentionPolicy": { - "description": "Long term retention policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "dailySchedule": { - "$ref": "#/definitions/DailyRetentionSchedule", - "description": "Daily retention schedule of the protection policy." + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklyRetentionSchedule", - "description": "Weekly retention schedule of the protection policy." + "recoveryPointTierDetails": { + "type": "array", + "description": "Recovery point tier information.", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] }, - "monthlySchedule": { - "$ref": "#/definitions/MonthlyRetentionSchedule", - "description": "Monthly retention schedule of the protection policy." + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } }, - "yearlySchedule": { - "$ref": "#/definitions/YearlyRetentionSchedule", - "description": "Yearly retention schedule of the protection policy." + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } }, - "x-ms-discriminator-value": "LongTermRetentionPolicy" - }, - "LongTermSchedulePolicy": { - "description": "Long term policy schedule.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/SchedulePolicy" + "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "LongTermSchedulePolicy" + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", + "AzureWorkloadSQLPointInTimeRestoreRequest": { "type": "object", + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "properties": { - "errorString": { - "description": "Localized error string.", + "pointInTime": { "type": "string", - "readOnly": true + "format": "date-time", + "description": "PointInTime value" }, - "recommendations": { - "description": "List of localized recommendations.", + "shouldUseAlternateTargetLocation": { + "type": "boolean", + "description": "Default option set to true. If this is set to false, alternate data directory must be provided" + }, + "isNonRecoverable": { + "type": "boolean", + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" + }, + "alternateDirectoryPaths": { "type": "array", + "description": "Data directory details", "items": { - "type": "string" + "$ref": "#/definitions/SQLDataDirectoryMapping" }, - "readOnly": true - } - } - }, - "MabFileFolderProtectedItem": { - "description": "MAB workload-specific backup item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "properties": { - "friendlyName": { - "description": "Friendly name of this backup item.", - "type": "string" + "x-ms-identifiers": [] }, - "computerName": { - "description": "Name of the computer associated with this backup item.", - "type": "string" + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." }, - "lastBackupStatus": { - "description": "Status of last backup operation.", - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { + "type": "string" + } }, - "protectionState": { - "description": "Protected, ProtectionStopped, IRPending or ProtectionError", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "deferredDeleteSyncTimeInUTC": { - "format": "int64", - "description": "Sync time for deferred deletion in UTC", - "type": "integer" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "extendedInfo": { - "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", - "description": "Additional information with this backup item." - } - }, - "x-ms-discriminator-value": "MabFileFolderProtectedItem" - }, - "MabFileFolderProtectedItemExtendedInfo": { - "description": "Additional information on the backed up item.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last time when the agent data synced to service.", - "type": "string" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available.", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies associated with the backup item.", - "type": "integer" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "MabJob": { - "description": "MAB workload-specific job.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RestoreRequest" } ], + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", "properties": { - "duration": { - "format": "duration", - "description": "Time taken by job to run.", - "type": "string" + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" }, - "actionsInfo": { - "description": "The state/actions applicable on jobs like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "mabServerName": { - "description": "Name of server protecting the DS.", - "type": "string" + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" }, - "mabServerType": { - "description": "Server type of MAB container.", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "MabServerType", - "modelAsString": true - } + "shouldUseAlternateTargetLocation": { + "type": "boolean", + "description": "Default option set to true. If this is set to false, alternate data directory must be provided" }, - "workloadType": { - "description": "Workload type of backup item.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "isNonRecoverable": { + "type": "boolean", + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" }, - "errorDetails": { - "description": "The errors.", + "alternateDirectoryPaths": { "type": "array", + "description": "Data directory details", "items": { - "$ref": "#/definitions/MabErrorInfo" + "$ref": "#/definitions/SQLDataDirectoryMapping" }, "x-ms-identifiers": [] }, - "extendedInfo": { - "$ref": "#/definitions/MabJobExtendedInfo", - "description": "Additional information on the job." - } - }, - "x-ms-discriminator-value": "MabJob" - }, - "MabJobExtendedInfo": { - "description": "Additional information for the MAB workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job.", - "type": "array", - "items": { - "$ref": "#/definitions/MabJobTaskDetails" - }, - "x-ms-identifiers": [ - "taskId" - ] + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." }, "propertyBag": { - "description": "The job properties.", "type": "object", + "description": "Workload specific property bag.", "additionalProperties": { "type": "string" } }, - "dynamicErrorMessage": { - "description": "Non localized error message specific to this job.", - "type": "string" - } - } - }, - "MabJobTaskDetails": { - "description": "MAB workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." }, - "status": { - "description": "The status.", - "type": "string" + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "MabProtectionPolicy": { - "description": "Mab container-specific backup policy.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/RestoreRequest" } ], - "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." - } - }, - "x-ms-discriminator-value": "MAB" + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" }, - "MonthlyRetentionSchedule": { - "description": "Monthly retention schedule.", + "AzureWorkloadSQLRecoveryPoint": { "type": "object", + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format type for monthly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\nWhen a specific recovery point is accessed using GetRecoveryPoint\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for monthly retention policy." + "recoveryPointTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which recovery point was created" }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for monthly retention policy." + "type": { + "$ref": "#/definitions/RestorePointType", + "description": "Type of restore point" }, - "retentionTimes": { - "description": "Retention times of retention policy.", + "recoveryPointTierDetails": { "type": "array", + "description": "Recovery point tier information.", "items": { - "format": "date-time", - "type": "string" + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" } }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" } - } - }, - "OperationResultInfo": { - "description": "Operation result info.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" - } - ], - "properties": { - "jobList": { - "description": "List of jobs created by this operation.", - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/RecoveryPoint" } - }, - "x-ms-discriminator-value": "OperationResultInfo" - }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", - "required": [ - "objectType" ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" }, - "KPIResourceHealthDetails": { - "description": "KPI Resource Health Details", + "AzureWorkloadSQLRecoveryPointExtendedInfo": { "type": "object", + "description": "Extended info class details", "properties": { - "resourceHealthStatus": { - "description": "Resource Health Status", - "enum": [ - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" - ], + "dataDirectoryTimeInUTC": { "type": "string", - "x-ms-enum": { - "name": "ResourceHealthStatus", - "modelAsString": true - } + "format": "date-time", + "description": "UTC time at which data directory info was captured" }, - "resourceHealthDetails": { - "description": "Resource Health Status", + "dataDirectoryPaths": { "type": "array", + "description": "List of data directory paths during restore operation.", "items": { - "$ref": "#/definitions/ResourceHealthDetails" + "$ref": "#/definitions/SQLDataDirectory" }, - "x-ms-identifiers": [ - "code" - ] + "x-ms-identifiers": [] } } }, - "PrepareDataMoveRequest": { - "description": "Prepare DataMove Request", - "required": [ - "targetResourceId", - "targetRegion", - "dataMoveLevel" - ], + "AzureWorkloadSQLRestoreRequest": { "type": "object", + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", "properties": { - "targetResourceId": { - "description": "ARM Id of target vault", - "type": "string" - }, - "targetRegion": { - "description": "Target Region", - "type": "string" + "shouldUseAlternateTargetLocation": { + "type": "boolean", + "description": "Default option set to true. If this is set to false, alternate data directory must be provided" }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], - "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } + "isNonRecoverable": { + "type": "boolean", + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "alternateDirectoryPaths": { "type": "array", + "description": "Data directory details", "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + }, + "x-ms-identifiers": [] + }, + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." + }, + "propertyBag": { + "type": "object", + "description": "Workload specific property bag.", + "additionalProperties": { "type": "string" } }, - "ignoreMoved": { - "description": "Ignore the artifacts which are already moved.", - "type": "boolean" + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" + }, + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } - } - }, - "PrepareDataMoveResponse": { - "description": "Prepare DataMove Response", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + "$ref": "#/definitions/RestoreRequest" } ], - "properties": { - "correlationId": { - "description": "Co-relationId for move operation", - "type": "string" - }, - "sourceVaultProperties": { - "description": "Source Vault Properties", + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + }, + "shouldUseAlternateTargetLocation": { + "type": "boolean", + "description": "Default option set to true. If this is set to false, alternate data directory must be provided" + }, + "isNonRecoverable": { + "type": "boolean", + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" + }, + "alternateDirectoryPaths": { + "type": "array", + "description": "Data directory details", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + }, + "x-ms-identifiers": [] + }, + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." + }, + "propertyBag": { "type": "object", + "description": "Workload specific property bag.", "additionalProperties": { "type": "string" } + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "recoveryMode": { + "$ref": "#/definitions/RecoveryMode", + "description": "Defines whether the current recovery mode is file restore or database restore" + }, + "targetResourceGroupName": { + "type": "string", + "description": "Defines the Resource group of the Target VM" + }, + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User Assigned managed identity details\nCurrently used for snapshot." + }, + "snapshotRestoreParameters": { + "$ref": "#/definitions/SnapshotRestoreParameters", + "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } }, - "x-ms-discriminator-value": "PrepareDataMoveResponse" - }, - "VaultStorageConfigOperationResultResponse": { - "description": "Operation result response for Vault Storage Config", - "required": [ - "objectType" + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } ], + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + }, + "BEKDetails": { "type": "object", + "description": "BEK is bitlocker encryption key.", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "secretUrl": { + "type": "string", + "description": "Secret is BEK." + }, + "secretVaultId": { + "type": "string", + "description": "ID of the Key Vault where this Secret is stored." + }, + "secretData": { + "type": "string", + "description": "BEK data." } - }, - "discriminator": "objectType" + } }, - "TriggerDataMoveRequest": { - "description": "Trigger DataMove Request", - "required": [ - "sourceResourceId", - "sourceRegion", - "dataMoveLevel", - "correlationId" - ], + "BMSBackupEngineQueryObject": { "type": "object", + "description": "Query parameters to fetch list of backup engines.", "properties": { - "sourceResourceId": { - "description": "ARM Id of source vault", - "type": "string" + "expand": { + "type": "string", + "description": "attribute to add extended info" + } + } + }, + "BMSBackupEnginesQueryObject": { + "type": "object", + "description": "Query parameters to fetch list of backup engines.", + "properties": { + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for the backup engine." }, - "sourceRegion": { - "description": "Source Region", - "type": "string" + "friendlyName": { + "type": "string", + "description": "Friendly name of the backup engine." }, - "dataMoveLevel": { - "description": "DataMove Level", - "enum": [ - "Invalid", - "Vault", - "Container" - ], + "expand": { "type": "string", - "x-ms-enum": { - "name": "DataMoveLevel", - "modelAsString": true - } + "description": "Attribute to add extended info." + } + } + }, + "BMSBackupSummariesQueryObject": { + "type": "object", + "description": "Query parameters to fetch backup summaries.", + "properties": { + "type": { + "$ref": "#/definitions/Type", + "description": "Backup management type for this container." + } + } + }, + "BMSContainerQueryObject": { + "type": "object", + "description": "The query filters that can be used with the list containers API.", + "properties": { + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for this container." }, - "correlationId": { - "description": "Correlation Id", - "type": "string" + "containerType": { + "$ref": "#/definitions/ContainerType", + "description": "Type of container for filter" }, - "sourceContainerArmIds": { - "description": "Source Container ArmIds", - "type": "array", - "items": { - "type": "string" - } + "backupEngineName": { + "type": "string", + "description": "Backup engine name" }, - "pauseGC": { - "description": "Pause GC", - "type": "boolean" + "fabricName": { + "type": "string", + "description": "Fabric name for filter" + }, + "status": { + "type": "string", + "description": "Status of registration of this container with the Recovery Services Vault." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of this container." } - } + }, + "required": [ + "backupManagementType" + ] }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", - "allOf": [ - { - "$ref": "#/definitions/OperationWorkerResponse" - } - ], + "BMSContainersInquiryQueryObject": { + "type": "object", + "description": "The query filters that can be used with the inquire container API.", "properties": { - "operation": { - "$ref": "#/definitions/OperationResultInfoBase", - "description": "OperationResultInfoBaseResource operation" + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for this container." + }, + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type for this container." } } }, - "OperationWorkerResponse": { - "description": "This is the base class for operation result responses.", + "BMSRefreshContainersQueryObject": { "type": "object", + "description": "The query filters that can be used with the refresh container API.", "properties": { - "statusCode": { - "description": "HTTP Status Code of the operation.", - "enum": [ - "Continue", - "SwitchingProtocols", - "OK", - "Created", - "Accepted", - "NonAuthoritativeInformation", - "NoContent", - "ResetContent", - "PartialContent", - "MultipleChoices", - "Ambiguous", - "MovedPermanently", - "Moved", - "Found", - "Redirect", - "SeeOther", - "RedirectMethod", - "NotModified", - "UseProxy", - "Unused", - "TemporaryRedirect", - "RedirectKeepVerb", - "BadRequest", - "Unauthorized", - "PaymentRequired", - "Forbidden", - "NotFound", - "MethodNotAllowed", - "NotAcceptable", - "ProxyAuthenticationRequired", - "RequestTimeout", - "Conflict", - "Gone", - "LengthRequired", - "PreconditionFailed", - "RequestEntityTooLarge", - "RequestUriTooLong", - "UnsupportedMediaType", - "RequestedRangeNotSatisfiable", - "ExpectationFailed", - "UpgradeRequired", - "InternalServerError", - "NotImplemented", - "BadGateway", - "ServiceUnavailable", - "GatewayTimeout", - "HttpVersionNotSupported" - ], - "type": "string", - "x-ms-enum": { - "name": "HttpStatusCode", - "modelAsString": false - } - }, - "headers": { - "description": "HTTP headers associated with this operation.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for this container." } } }, - "PointInTimeRange": { - "description": "Provides details for log ranges", + "BMSWorkloadItemQueryObject": { "type": "object", + "description": "Filters to list items that can be backed up.", "properties": { - "startTime": { - "format": "date-time", - "description": "Start time of the time range for log recovery.", - "type": "string" + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type." }, - "endTime": { - "format": "date-time", - "description": "End time of the time range for log recovery.", - "type": "string" + "workloadItemType": { + "$ref": "#/definitions/WorkloadItemType", + "description": "Workload Item type" + }, + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type" + }, + "protectionStatus": { + "$ref": "#/definitions/ProtectionStatus", + "description": "Backup status query parameter." } } }, - "ProtectedItem": { - "description": "Base class for backup items.", - "required": [ - "protectedItemType" - ], + "BackupEngineBase": { "type": "object", + "description": "The base backup engine class. All workload specific backup engines derive from this class.", "properties": { - "protectedItemType": { - "description": "backup item type.", - "type": "string" + "friendlyName": { + "type": "string", + "description": "Friendly name of the backup engine." }, "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - }, - "readOnly": true + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the backup engine." }, - "workloadType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - }, - "readOnly": true - }, - "containerName": { - "description": "Unique name of container", - "type": "string" + "registrationStatus": { + "type": "string", + "description": "Registration status of the backup engine with the Recovery Services Vault." }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" + "backupEngineState": { + "type": "string", + "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}" }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" + "healthStatus": { + "type": "string", + "description": "Backup status of the backup engine." }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", - "type": "string" + "backupEngineType": { + "$ref": "#/definitions/BackupEngineType", + "description": "Type of the backup engine." }, - "backupSetName": { - "description": "Name of the backup set the backup item belongs to", - "type": "string" + "canReRegister": { + "type": "boolean", + "description": "Flag indicating if the backup engine be registered, once already registered." }, - "createMode": { - "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", - "enum": [ - "Invalid", - "Default", - "Recover" - ], + "backupEngineId": { "type": "string", - "x-ms-enum": { - "name": "CreateMode", - "modelAsString": true - } - }, - "deferredDeleteTimeInUTC": { - "format": "date-time", - "description": "Time for deferred deletion in UTC", - "type": "string" + "description": "ID of the backup engine." }, - "isScheduledForDeferredDelete": { - "description": "Flag to identify whether the DS is scheduled for deferred delete", - "type": "boolean" + "dpmVersion": { + "type": "string", + "description": "Backup engine version" }, - "deferredDeleteTimeRemaining": { - "description": "Time remaining before the DS marked for deferred delete is permanently deleted", - "type": "string" + "azureBackupAgentVersion": { + "type": "string", + "description": "Backup agent version" }, - "isDeferredDeleteScheduleUpcoming": { - "description": "Flag to identify whether the deferred deleted DS is to be purged soon", - "type": "boolean" + "isAzureBackupAgentUpgradeAvailable": { + "type": "boolean", + "description": "To check if backup agent upgrade available" }, - "isRehydrate": { - "description": "Flag to identify that deferred deleted DS is to be moved into Pause state", - "type": "boolean" + "isDpmUpgradeAvailable": { + "type": "boolean", + "description": "To check if backup engine upgrade available" }, - "resourceGuardOperationRequests": { - "description": "ResourceGuardOperationRequests on which LAC check will be performed", - "type": "array", - "items": { - "type": "string" - } - }, - "isArchiveEnabled": { - "description": "Flag to identify whether datasource is protected in archive", - "type": "boolean" - }, - "policyName": { - "description": "Name of the policy used for protection", - "type": "string" - }, - "softDeleteRetentionPeriodInDays": { - "format": "int32", - "description": "Soft delete retention period in days", - "type": "integer" - }, - "vaultId": { - "description": "ID of the vault which protects this item", - "type": "string", - "readOnly": true + "extendedInfo": { + "$ref": "#/definitions/BackupEngineExtendedInfo", + "description": "Extended info of the backupengine" } }, - "discriminator": "protectedItemType" + "discriminator": "backupEngineType", + "required": [ + "backupEngineType" + ] }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "BackupEngineBaseResource": { "type": "object", + "description": "The base backup engine class. All workload specific backup engines derive from this class.", "properties": { - "healthState": { - "description": "Health State for the backed up item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthState", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Backup management type for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "itemType": { - "description": "Type of workload this item represents.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "policyName": { - "description": "Backup policy name associated with the backup item.", - "type": "string" - }, - "containerName": { - "description": "Name of the container.", - "type": "string" - }, - "backupEngineName": { - "description": "Backup Engine name", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name of protected item", - "type": "string" - }, - "fabricName": { - "description": "Name of the fabric.", - "type": "string" - }, - "backupSetName": { - "description": "Name of the backup set.", - "type": "string" + "properties": { + "$ref": "#/definitions/BackupEngineBase", + "description": "BackupEngineBaseResource properties" } - } - }, - "ProtectedItemResource": { - "description": "Base class for backup items.", + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectedItem", - "description": "ProtectedItemResource properties" - } - } + ] }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", + "BackupEngineBaseResourceList": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "List of BackupEngineBase resources", "properties": { "value": { - "description": "List of resources.", "type": "array", + "description": "List of resources.", "items": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/BackupEngineBaseResource" } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } } }, - "ProtectionPolicy": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "required": [ - "backupManagementType" - ], + "BackupEngineExtendedInfo": { "type": "object", + "description": "Additional information on backup engine.", "properties": { + "databaseName": { + "type": "string", + "description": "Database name of backup engine." + }, "protectedItemsCount": { + "type": "integer", "format": "int32", - "description": "Number of items associated with this policy.", - "type": "integer" + "description": "Number of protected items in the backup engine." }, - "backupManagementType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "protectedServersCount": { + "type": "integer", + "format": "int32", + "description": "Number of protected servers in the backup engine." }, - "resourceGuardOperationRequests": { - "description": "ResourceGuard Operation Requests", - "type": "array", - "items": { - "type": "string" - } - } - }, - "discriminator": "backupManagementType" - }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } + "diskCount": { + "type": "integer", + "format": "int32", + "description": "Number of disks in the backup engine." }, - "fabricName": { - "description": "Fabric name for filter", - "type": "string" + "usedDiskSpace": { + "type": "number", + "format": "double", + "description": "Disk space used in the backup engine." }, - "workloadType": { - "description": "Workload type for the backup policy.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "availableDiskSpace": { + "type": "number", + "format": "double", + "description": "Disk space currently available in the backup engine." + }, + "refreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time in the backup engine." + }, + "azureProtectedInstances": { + "type": "integer", + "format": "int32", + "description": "Protected instances in the backup engine." } } }, - "ProtectionPolicyResource": { - "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "BackupEngineType": { + "type": "string", + "description": "Type of the backup engine.", + "enum": [ + "Invalid", + "DpmBackupEngine", + "AzureBackupServerEngine" ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionPolicy", - "description": "ProtectionPolicyResource properties" - } + "x-ms-enum": { + "name": "BackupEngineType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "DpmBackupEngine", + "value": "DpmBackupEngine" + }, + { + "name": "AzureBackupServerEngine", + "value": "AzureBackupServerEngine" + } + ] } }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy resources", + "BackupFabricResource": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" + "properties": { + "name": { + "type": "string", + "description": "The name of the BackupFabricResource", + "readOnly": true } + }, + "required": [ + "name" + ] + }, + "BackupItemType": { + "type": "string", + "description": "Type of backup items associated with this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionPolicyResource" + "x-ms-enum": { + "name": "BackupItemType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "VM", + "value": "VM" + }, + { + "name": "FileFolder", + "value": "FileFolder" + }, + { + "name": "AzureSqlDb", + "value": "AzureSqlDb" + }, + { + "name": "SQLDB", + "value": "SQLDB" + }, + { + "name": "Exchange", + "value": "Exchange" + }, + { + "name": "Sharepoint", + "value": "Sharepoint" + }, + { + "name": "VMwareVM", + "value": "VMwareVM" + }, + { + "name": "SystemState", + "value": "SystemState" + }, + { + "name": "Client", + "value": "Client" + }, + { + "name": "GenericDataSource", + "value": "GenericDataSource" + }, + { + "name": "SQLDataBase", + "value": "SQLDataBase" + }, + { + "name": "AzureFileShare", + "value": "AzureFileShare" + }, + { + "name": "SAPHanaDatabase", + "value": "SAPHanaDatabase" + }, + { + "name": "SAPAseDatabase", + "value": "SAPAseDatabase" + }, + { + "name": "SAPHanaDBInstance", + "value": "SAPHanaDBInstance" } - } + ] } }, - "RecoveryPoint": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "required": [ - "objectType" + "BackupManagementType": { + "type": "string", + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "AzureIaasVM", + "value": "AzureIaasVM" + }, + { + "name": "MAB", + "value": "MAB" + }, + { + "name": "DPM", + "value": "DPM" + }, + { + "name": "AzureBackupServer", + "value": "AzureBackupServer" + }, + { + "name": "AzureSql", + "value": "AzureSql" + }, + { + "name": "AzureStorage", + "value": "AzureStorage" + }, + { + "name": "AzureWorkload", + "value": "AzureWorkload" + }, + { + "name": "DefaultBackup", + "value": "DefaultBackup" + } + ] + } }, - "RecoveryPointDiskConfiguration": { - "description": "Disk configuration", + "BackupManagementUsage": { "type": "object", + "description": "Backup management usages of a vault.", "properties": { - "numberOfDisksIncludedInBackup": { - "format": "int32", - "description": "Number of disks included in backup", - "type": "integer" - }, - "numberOfDisksAttachedToVm": { - "format": "int32", - "description": "Number of disks attached to the VM", - "type": "integer" + "unit": { + "$ref": "#/definitions/UsagesUnit", + "description": "Unit of the usage." }, - "includedDiskList": { - "description": "Information of disks included in backup", - "type": "array", - "items": { - "$ref": "#/definitions/DiskInformation" - }, - "x-ms-identifiers": [] + "quotaPeriod": { + "type": "string", + "description": "Quota period of usage." }, - "excludedDiskList": { - "description": "Information of disks excluded from backup", + "nextResetTime": { + "type": "string", + "format": "date-time", + "description": "Next reset time of usage." + }, + "currentValue": { + "type": "integer", + "format": "int64", + "description": "Current value of usage." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "Limit of usage." + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "type": "object", + "description": "Backup management usage for vault.", + "properties": { + "value": { "type": "array", + "description": "The list of backup management usages for the given vault.", "items": { - "$ref": "#/definitions/DiskInformation" + "$ref": "#/definitions/BackupManagementUsage" }, "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } } }, - "RecoveryPointResource": { - "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "BackupRequest": { + "type": "object", + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPoint", - "description": "RecoveryPointResource properties" + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } - } + }, + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "RecoveryPointResourceList": { - "description": "List of RecoveryPoint resources", + "BackupRequestResource": { "type": "object", + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + }, "allOf": [ { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPointResource" - } + "$ref": "#/definitions/Resource" } - } + ] }, - "RecoveryPointTierInformation": { - "description": "Recovery point tier information.", + "BackupResourceConfig": { "type": "object", + "description": "The resource storage details.", "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } + "storageModelType": { + "$ref": "#/definitions/StorageType", + "description": "Storage type" }, - "status": { - "description": "Recovery point tier status.", - "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted", - "Rehydrated" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": false - } + "storageType": { + "$ref": "#/definitions/StorageType", + "description": "Storage type." }, - "extendedInfo": { - "description": "Recovery point tier status.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "storageTypeState": { + "$ref": "#/definitions/StorageTypeState", + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + }, + "crossRegionRestoreFlag": { + "type": "boolean", + "description": "Opt in details of Cross Region Restore feature." + }, + "dedupState": { + "$ref": "#/definitions/DedupState", + "description": "Vault Dedup state" + }, + "xcoolState": { + "$ref": "#/definitions/XcoolState", + "description": "Vault x-cool state" } } }, - "RecoveryPointTierInformationV2": { - "description": "RecoveryPoint Tier Information V2", + "BackupResourceConfigResource": { "type": "object", + "description": "The resource storage details.", + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + }, "allOf": [ { - "$ref": "#/definitions/RecoveryPointTierInformation" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], + ] + }, + "BackupResourceEncryptionConfig": { + "type": "object", "properties": { - "type": { - "description": "Recovery point tier type.", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], + "encryptionAtRestType": { + "$ref": "#/definitions/EncryptionAtRestType", + "description": "Encryption At Rest Type" + }, + "keyUri": { "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": true - } + "description": "Key Vault Key URI" }, - "status": { - "description": "Recovery point tier status.", - "enum": [ - "Invalid", - "Valid", - "Disabled", - "Deleted", - "Rehydrated" - ], + "subscriptionId": { "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierStatus", - "modelAsString": true - } + "description": "Key Vault Subscription Id" + }, + "lastUpdateStatus": { + "$ref": "#/definitions/LastUpdateStatus" + }, + "infrastructureEncryptionState": { + "$ref": "#/definitions/InfrastructureEncryptionState" } } }, - "Resource": { - "description": "ARM Resource.", + "BackupResourceEncryptionConfigExtended": { "type": "object", "properties": { - "id": { - "description": "Resource Id represents the complete path to the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name associated with the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "userAssignedIdentity": { "type": "string", - "readOnly": true + "description": "User Assigned Identity Id" }, - "location": { - "description": "Resource location.", - "type": "string" - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "eTag": { - "description": "Optional ETag.", - "type": "string" + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "bool to indicate whether to use system Assigned Identity or not" } }, - "x-ms-azure-resource": true + "allOf": [ + { + "$ref": "#/definitions/BackupResourceEncryptionConfig" + } + ] }, - "ResourceList": { - "description": "Base for all lists of resources.", + "BackupResourceEncryptionConfigExtendedResource": { "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { - "nextLink": { - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200.", - "type": "string" + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", + "description": "BackupResourceEncryptionConfigExtendedResource properties" } - } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] }, - "RestoreFileSpecs": { - "description": "Restore file specs like file path, type and target folder path info.", + "BackupResourceEncryptionConfigResource": { "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { - "path": { - "description": "Source File/Folder path", - "type": "string" - }, - "fileSpecType": { - "description": "Indicates what the Path variable stands for", - "type": "string" - }, - "targetFolderPath": { - "description": "Destination folder path in target FileShare", - "type": "string" + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" } - } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] }, - "RestoreRequest": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", - "required": [ - "objectType" - ], + "BackupResourceVaultConfig": { "type": "object", + "description": "Backup resource vault config details.", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "storageModelType": { + "$ref": "#/definitions/StorageType", + "description": "Storage type." + }, + "storageType": { + "$ref": "#/definitions/StorageType", + "description": "Storage type." + }, + "storageTypeState": { + "$ref": "#/definitions/StorageTypeState", + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + }, + "enhancedSecurityState": { + "$ref": "#/definitions/EnhancedSecurityState", + "description": "Enabled or Disabled." + }, + "softDeleteFeatureState": { + "$ref": "#/definitions/SoftDeleteFeatureState", + "description": "Soft Delete feature state" + }, + "softDeleteRetentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Soft delete retention period in days" }, "resourceGuardOperationRequests": { - "description": "ResourceGuardOperationRequests on which LAC check will be performed", "type": "array", + "description": "ResourceGuard Operation Requests", "items": { "type": "string" } + }, + "isSoftDeleteFeatureStateEditable": { + "type": "boolean", + "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault" } - }, - "discriminator": "objectType" + } }, - "RestoreRequestResource": { - "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", + "BackupResourceVaultConfigResource": { + "type": "object", + "description": "Backup resource vault config details.", + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], + ] + }, + "BackupStatusRequest": { + "type": "object", + "description": "BackupStatus request.", "properties": { - "properties": { - "$ref": "#/definitions/RestoreRequest", - "description": "RestoreRequestResource properties" + "resourceType": { + "$ref": "#/definitions/DataSourceType", + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare..." + }, + "resourceId": { + "type": "string", + "description": "Entire ARM resource id of the resource" + }, + "poLogicalName": { + "type": "string", + "description": "Protectable Item Logical Name" } } }, - "RetentionDuration": { - "description": "Retention duration.", + "BackupStatusResponse": { "type": "object", + "description": "BackupStatus response.", "properties": { - "count": { - "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", - "type": "integer" + "protectionStatus": { + "$ref": "#/definitions/ProtectionStatus", + "description": "Specifies whether the container is registered or not" }, - "durationType": { - "description": "Retention duration type of retention policy.", - "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" - ], + "vaultId": { "type": "string", - "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true - } + "description": "Specifies the arm resource id of the vault" + }, + "fabricName": { + "$ref": "#/definitions/FabricName", + "description": "Specifies the fabric name - Azure or AD" + }, + "containerName": { + "type": "string", + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname." + }, + "protectedItemName": { + "type": "string", + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname." + }, + "errorCode": { + "type": "string", + "description": "ErrorCode in case of intent failed" + }, + "errorMessage": { + "type": "string", + "description": "ErrorMessage in case of intent failed." + }, + "policyName": { + "type": "string", + "description": "Specifies the policy name which is used for protection" + }, + "registrationStatus": { + "type": "string", + "description": "Container registration status" + }, + "protectedItemsCount": { + "type": "integer", + "format": "int32", + "description": "Number of protected items" + }, + "acquireStorageAccountLock": { + "$ref": "#/definitions/AcquireStorageAccountLock", + "description": "Specifies whether the storage account lock has been acquired or not" } } }, - "RetentionPolicy": { - "description": "Base class for retention policy.", - "required": [ - "retentionPolicyType" - ], - "type": "object", - "properties": { - "retentionPolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "retentionPolicyType" - }, - "SchedulePolicy": { - "description": "Base class for backup schedule.", - "required": [ - "schedulePolicyType" + "BackupType": { + "type": "string", + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" ], - "type": "object", - "properties": { - "schedulePolicyType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "schedulePolicyType" + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Full", + "value": "Full" + }, + { + "name": "Differential", + "value": "Differential" + }, + { + "name": "Log", + "value": "Log" + }, + { + "name": "CopyOnlyFull", + "value": "CopyOnlyFull" + }, + { + "name": "Incremental", + "value": "Incremental" + }, + { + "name": "SnapshotFull", + "value": "SnapshotFull" + }, + { + "name": "SnapshotCopyOnlyFull", + "value": "SnapshotCopyOnlyFull" + } + ] + } }, - "Settings": { - "description": "Common settings field for backup management", + "BmspoQueryObject": { "type": "object", + "description": "Filters to list items that can be backed up.", "properties": { - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type." }, - "issqlcompression": { - "description": "SQL compression flag", - "type": "boolean" + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type" }, - "isCompression": { - "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.", - "type": "boolean" + "containerName": { + "type": "string", + "description": "Full name of the container whose Protectable Objects should be returned." + }, + "status": { + "type": "string", + "description": "Backup status query parameter." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name." } } }, - "SimpleRetentionPolicy": { - "description": "Simple policy retention.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RetentionPolicy" - } - ], - "properties": { - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of the protection policy." - } - }, - "x-ms-discriminator-value": "SimpleRetentionPolicy" - }, - "SimpleSchedulePolicy": { - "description": "Simple policy schedule.", + "BmsrpQueryObject": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], + "description": "Filters to list backup copies.", "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly", - "Hourly" - ], + "startDate": { "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } + "format": "date-time", + "description": "Backup copies created after this time." }, - "scheduleRunDays": { - "description": "List of days of week this schedule has to be run.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } + "endDate": { + "type": "string", + "format": "date-time", + "description": "Backup copies created before this time." }, - "scheduleRunTimes": { - "description": "List of times of day this schedule has to be run.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "restorePointQueryType": { + "$ref": "#/definitions/RestorePointQueryType", + "description": "RestorePoint type" }, - "hourlySchedule": { - "$ref": "#/definitions/HourlySchedule", - "description": "Hourly Schedule of this Policy" + "extendedInfo": { + "type": "boolean", + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked." }, - "scheduleWeeklyFrequency": { - "format": "int32", - "description": "At every number weeks this schedule has to be run.", - "type": "integer" + "moveReadyRPOnly": { + "type": "boolean", + "description": "Whether the RP can be moved to another tier" + }, + "includeSoftDeletedRP": { + "type": "boolean", + "description": "Flag to indicate whether Soft Deleted RPs should be included/excluded from result." } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicy" + } }, - "SimpleSchedulePolicyV2": { - "description": "The V2 policy schedule for IaaS that supports hourly backups.", + "ClientDiscoveryDisplay": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SchedulePolicy" - } - ], + "description": "Localized display information of an operation.", "properties": { - "scheduleRunFrequency": { - "description": "Frequency of the schedule operation of this policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly", - "Hourly" - ], + "provider": { "type": "string", - "x-ms-enum": { - "name": "ScheduleRunType", - "modelAsString": true - } + "description": "Name of the provider for display purposes" }, - "hourlySchedule": { - "$ref": "#/definitions/HourlySchedule", - "description": "hourly schedule of this policy" + "resource": { + "type": "string", + "description": "ResourceType for which this Operation can be performed." }, - "dailySchedule": { - "$ref": "#/definitions/DailySchedule", - "description": "Daily schedule of this policy" + "operation": { + "type": "string", + "description": "Operations Name itself." }, - "weeklySchedule": { - "$ref": "#/definitions/WeeklySchedule", - "description": "Weekly schedule of this policy" + "description": { + "type": "string", + "description": "Description of the operation having details of what operation is about." } - }, - "x-ms-discriminator-value": "SimpleSchedulePolicyV2" + } }, - "SubProtectionPolicy": { - "description": "Sub-protection policy which includes schedule and retention", + "ClientDiscoveryForLogSpecification": { "type": "object", + "description": "Class to represent shoebox log specification in json client discovery.", "properties": { - "policyType": { - "description": "Type of backup policy type", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental", - "SnapshotFull", - "SnapshotCopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "PolicyType", - "modelAsString": true - } - }, - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." + "name": { + "type": "string", + "description": "Name for shoebox log specification." }, - "tieringPolicy": { - "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/TieringPolicy" - } + "displayName": { + "type": "string", + "description": "Localized display name" }, - "snapshotBackupAdditionalDetails": { - "$ref": "#/definitions/SnapshotBackupAdditionalDetails" + "blobDuration": { + "type": "string", + "description": "blob duration of shoebox log specification" } } }, - "SnapshotBackupAdditionalDetails": { - "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem", + "ClientDiscoveryForProperties": { "type": "object", + "description": "Class to represent shoebox properties in json client discovery.", "properties": { - "instantRpRetentionRangeInDays": { - "format": "int32", - "type": "integer" - }, - "instantRPDetails": { - "type": "string" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails" + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." } } }, - "SnapshotRestoreParameters": { - "description": "Encapsulates information regarding snapshot recovery for SAP Hana", + "ClientDiscoveryForServiceSpecification": { "type": "object", + "description": "Class to represent shoebox service specification in json client discovery.", "properties": { - "skipAttachAndMount": { - "type": "boolean" - }, - "logPointInTimeForDBRecovery": { - "type": "string" + "logSpecifications": { + "type": "array", + "description": "List of log specifications of this operation.", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + }, + "x-ms-identifiers": [] } } }, - "SQLDataDirectory": { - "description": "SQLDataDirectory info", + "ClientDiscoveryValueForSingleApi": { "type": "object", + "description": "Available operation details.", "properties": { - "type": { - "description": "Type of data directory mapping", - "enum": [ - "Invalid", - "Data", - "Log" - ], + "name": { "type": "string", - "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true - } + "description": "Name of the Operation." }, - "path": { - "description": "File path", - "type": "string" + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" }, - "logicalName": { - "description": "Logical name of the file", - "type": "string" + "origin": { + "type": "string", + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." } } }, - "SQLDataDirectoryMapping": { - "description": "Encapsulates information regarding data directory", + "ClientScriptForConnect": { "type": "object", + "description": "Client script details for file / folder restore.", "properties": { - "mappingType": { - "description": "Type of data directory mapping", - "enum": [ - "Invalid", - "Data", - "Log" - ], + "scriptContent": { "type": "string", - "x-ms-enum": { - "name": "SQLDataDirectoryType", - "modelAsString": true - } + "description": "File content of the client script for file / folder restore." }, - "sourceLogicalName": { - "description": "Restore source logical name path", - "type": "string" + "scriptExtension": { + "type": "string", + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc." }, - "sourcePath": { - "description": "Restore source path", - "type": "string" + "osType": { + "type": "string", + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works." }, - "targetPath": { - "description": "Target path", - "type": "string" + "url": { + "type": "string", + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used" + }, + "scriptNameSuffix": { + "type": "string", + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\nIf its null or empty then , ignore it." } } }, - "TargetAFSRestoreInfo": { - "description": "Target Azure File Share Info.", + "CloudError": { "type": "object", + "description": "An error response from the Container Instance service.", "properties": { - "name": { - "description": "File share name", - "type": "string" - }, - "targetResourceId": { - "description": "Target file share resource ARM ID", - "type": "string" + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." } } }, - "TargetRestoreInfo": { - "description": "Details about target workload during restore operation.", + "CloudErrorBody": { "type": "object", + "description": "An error response from the Container Instance service.", "properties": { - "overwriteOption": { - "description": "Can Overwrite if Target DataBase already exists", - "enum": [ - "Invalid", - "FailOnConflict", - "Overwrite" - ], + "code": { "type": "string", - "x-ms-enum": { - "name": "OverwriteOptions", - "modelAsString": true - } + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "readOnly": true }, - "containerId": { - "description": "Resource Id name of the container in which Target DataBase resides", - "type": "string" + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "readOnly": true }, - "databaseName": { - "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana", - "type": "string" + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error.", + "readOnly": true }, - "targetDirectoryForFileRestore": { - "description": "Target directory location for restore as files.", - "type": "string" - } - } - }, - "UserAssignedIdentityProperties": { - "type": "object", - "description": "User assigned managed identity properties", - "properties": { - "clientId": { - "description": "The client ID of the assigned identity.", - "type": "string" + "details": { + "type": "array", + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "readOnly": true, + "x-ms-identifiers": [ + "code" + ] }, - "principalId": { - "description": "The principal ID of the assigned identity.", - "type": "string" + "additionalInfo": { + "type": "array", + "description": "The error additional info.", + "items": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] } } }, - "UserAssignedManagedIdentityDetails": { + "ContainerIdentityInfo": { "type": "object", - "description": "User assigned managed identity details", + "description": "Container identity information", "properties": { - "identityArmId": { + "uniqueName": { "type": "string", - "description": "The ARM id of the assigned identity." + "description": "Unique name of the container" }, - "identityName": { + "aadTenantId": { "type": "string", - "description": "The name of the assigned identity." + "description": "Protection container identity - AAD Tenant" }, - "userAssignedIdentityProperties": { - "$ref": "#/definitions/UserAssignedIdentityProperties" + "servicePrincipalClientId": { + "type": "string", + "description": "Protection container identity - AAD Service Principal" + }, + "audience": { + "type": "string", + "description": "Protection container identity - Audience" } } }, - "ValidateIaasVMRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ValidateRestoreOperationRequest" - } + "ContainerType": { + "type": "string", + "description": "Type of container for filter", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "HanaHSRContainer" ], - "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Unknown", + "value": "Unknown" + }, + { + "name": "IaasVMContainer", + "value": "IaasVMContainer" + }, + { + "name": "IaasVMServiceContainer", + "value": "IaasVMServiceContainer" + }, + { + "name": "DPMContainer", + "value": "DPMContainer" + }, + { + "name": "AzureBackupServerContainer", + "value": "AzureBackupServerContainer" + }, + { + "name": "MABContainer", + "value": "MABContainer" + }, + { + "name": "Cluster", + "value": "Cluster" + }, + { + "name": "AzureSqlContainer", + "value": "AzureSqlContainer" + }, + { + "name": "Windows", + "value": "Windows" + }, + { + "name": "VCenter", + "value": "VCenter" + }, + { + "name": "VMAppContainer", + "value": "VMAppContainer" + }, + { + "name": "SQLAGWorkLoadContainer", + "value": "SQLAGWorkLoadContainer" + }, + { + "name": "StorageContainer", + "value": "StorageContainer" + }, + { + "name": "GenericContainer", + "value": "GenericContainer" + }, + { + "name": "HanaHSRContainer", + "value": "HanaHSRContainer" + } + ] + } }, - "ValidateOperationRequest": { - "description": "Base class for validate operation request.", - "required": [ - "objectType" + "CopyOptions": { + "type": "string", + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "CreateCopy", + "value": "CreateCopy" + }, + { + "name": "Skip", + "value": "Skip" + }, + { + "name": "Overwrite", + "value": "Overwrite" + }, + { + "name": "FailOnConflict", + "value": "FailOnConflict" + } + ] + } }, - "ValidateOperationRequestResource": { - "description": "Base class for validate operation request.", - "required": [ - "id", - "properties" + "CreateMode": { + "type": "string", + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source.", + "enum": [ + "Invalid", + "Default", + "Recover" ], - "type": "object", - "properties": { - "id": { - "description": "Recovery point ID.", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/ValidateOperationRequest", - "description": "ValidateOperationRequestResource properties" - } + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Default", + "value": "Default" + }, + { + "name": "Recover", + "value": "Recover" + } + ] } }, - "ValidateOperationResponse": { - "description": "Base class for validate operation response.", + "DPMContainerExtendedInfo": { "type": "object", + "description": "Additional information of the DPMContainer.", "properties": { - "validationResults": { - "description": "Gets the validation result", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDetail" - }, - "x-ms-identifiers": [ - "code" - ] + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last refresh time of the DPMContainer." } } }, - "ValidateOperationsResponse": { + "DPMProtectedItem": { "type": "object", + "description": "Additional information on Backup engine specific backup item.", "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse" + "friendlyName": { + "type": "string", + "description": "Friendly name of the managed item" + }, + "backupEngineName": { + "type": "string", + "description": "Backup Management server protecting this backup item" + }, + "protectionState": { + "$ref": "#/definitions/ProtectedItemState", + "description": "Protection state of the backup engine" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." } - } - }, - "ValidateRestoreOperationRequest": { - "description": "AzureRestoreValidation request.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ValidateOperationRequest" - } - ], - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" + "$ref": "#/definitions/ProtectedItem" } - }, - "x-ms-discriminator-value": "ValidateRestoreOperationRequest" - }, - "VaultRetentionPolicy": { - "description": "Vault retention policy for AzureFileShare", - "required": [ - "vaultRetention", - "snapshotRetentionInDays" ], - "type": "object", - "properties": { - "vaultRetention": { - "$ref": "#/definitions/RetentionPolicy" - }, - "snapshotRetentionInDays": { - "format": "int32", - "type": "integer" - } - } + "x-ms-discriminator-value": "DPMProtectedItem" }, - "WeeklyRetentionFormat": { - "description": "Weekly retention format.", + "DPMProtectedItemExtendedInfo": { "type": "object", + "description": "Additional information of DPM Protected item.", "properties": { - "daysOfTheWeek": { - "description": "List of days of the week.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } + "protectableObjectLoadPath": { + "type": "object", + "description": "Attribute to provide information on various DBs.", + "additionalProperties": { + "type": "string" } }, - "weeksOfTheMonth": { - "description": "List of weeks of month.", - "type": "array", - "items": { - "enum": [ - "First", - "Second", - "Third", - "Fourth", - "Last", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "WeekOfMonth", - "modelAsString": false - } - } - } - } - }, - "WeeklyRetentionSchedule": { - "description": "Weekly retention schedule.", - "type": "object", - "properties": { - "daysOfTheWeek": { - "description": "List of days of week for weekly retention policy.", - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "type": "string", - "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false - } - } + "protected": { + "type": "boolean", + "description": "To check if backup item is disk protected." }, - "retentionTimes": { - "description": "Retention times of retention policy.", - "type": "array", - "items": { - "format": "date-time", - "type": "string" - } + "isPresentOnCloud": { + "type": "boolean", + "description": "To check if backup item is cloud protected." }, - "retentionDuration": { - "$ref": "#/definitions/RetentionDuration", - "description": "Retention duration of retention Policy." - } - } - }, - "BackupResourceVaultConfigResource": { - "description": "Backup resource vault config details.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BackupResourceVaultConfig", - "description": "BackupResourceVaultConfigResource properties" - } - } - }, - "BackupResourceVaultConfig": { - "description": "Backup resource vault config details.", - "type": "object", - "properties": { - "storageModelType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], + "lastBackupStatus": { "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } + "description": "Last backup status information on backup item." }, - "storageType": { - "description": "Storage type.", - "enum": [ - "Invalid", - "GeoRedundant", - "LocallyRedundant", - "ZoneRedundant", - "ReadAccessGeoZoneRedundant" - ], + "lastRefreshedAt": { "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } + "format": "date-time", + "description": "Last refresh time on backup item." }, - "storageTypeState": { - "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", - "enum": [ - "Invalid", - "Locked", - "Unlocked" - ], + "oldestRecoveryPoint": { "type": "string", - "x-ms-enum": { - "name": "StorageTypeState", - "modelAsString": true - } + "format": "date-time", + "description": "Oldest cloud recovery point time." }, - "enhancedSecurityState": { - "description": "Enabled or Disabled.", - "enum": [ - "Invalid", - "Enabled", - "Disabled" - ], + "recoveryPointCount": { + "type": "integer", + "format": "int32", + "description": "cloud recovery point count." + }, + "onPremiseOldestRecoveryPoint": { "type": "string", - "x-ms-enum": { - "name": "EnhancedSecurityState", - "modelAsString": true - } + "format": "date-time", + "description": "Oldest disk recovery point time." }, - "softDeleteFeatureState": { - "description": "Soft Delete feature state", - "enum": [ - "Invalid", - "Enabled", - "Disabled", - "AlwaysON" - ], + "onPremiseLatestRecoveryPoint": { "type": "string", - "x-ms-enum": { - "name": "SoftDeleteFeatureState", - "modelAsString": true - } + "format": "date-time", + "description": "latest disk recovery point time." }, - "softDeleteRetentionPeriodInDays": { + "onPremiseRecoveryPointCount": { + "type": "integer", "format": "int32", - "description": "Soft delete retention period in days", - "type": "integer" + "description": "disk recovery point count." }, - "resourceGuardOperationRequests": { - "description": "ResourceGuard Operation Requests", - "type": "array", - "items": { - "type": "string" - } + "isCollocated": { + "type": "boolean", + "description": "To check if backup item is collocated." }, - "isSoftDeleteFeatureStateEditable": { - "description": "This flag is no longer in use. Please use 'softDeleteFeatureState' to set the soft delete state for the vault", - "type": "boolean" + "protectionGroupName": { + "type": "string", + "description": "Protection group name of the backup item." + }, + "diskStorageUsedInBytes": { + "type": "string", + "description": "Used Disk storage in bytes." + }, + "totalDiskStorageSizeInBytes": { + "type": "string", + "description": "total Disk storage in bytes." } } }, - "YearlyRetentionSchedule": { - "description": "Yearly retention schedule.", + "DailyRetentionFormat": { "type": "object", + "description": "Daily retention format.", "properties": { - "retentionScheduleFormatType": { - "description": "Retention schedule format for yearly retention policy.", - "enum": [ - "Invalid", - "Daily", - "Weekly" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionScheduleFormat", - "modelAsString": true - } - }, - "monthsOfYear": { - "description": "List of months of year of yearly retention policy.", + "daysOfTheMonth": { "type": "array", + "description": "List of days of the month.", "items": { - "enum": [ - "Invalid", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - "type": "string", - "x-ms-enum": { - "name": "MonthOfYear", - "modelAsString": false - } - } - }, - "retentionScheduleDaily": { - "$ref": "#/definitions/DailyRetentionFormat", - "description": "Daily retention format for yearly retention policy." - }, - "retentionScheduleWeekly": { - "$ref": "#/definitions/WeeklyRetentionFormat", - "description": "Weekly retention format for yearly retention policy." - }, + "$ref": "#/definitions/Day" + }, + "x-ms-identifiers": [] + } + } + }, + "DailyRetentionSchedule": { + "type": "object", + "description": "Daily retention schedule.", + "properties": { "retentionTimes": { - "description": "Retention times of retention policy.", "type": "array", + "description": "Retention times of retention policy.", "items": { - "format": "date-time", - "type": "string" + "type": "string", + "format": "date-time" } }, "retentionDuration": { @@ -10157,3499 +10192,6256 @@ } } }, - "VaultJob": { - "description": "Vault level Job", + "DailySchedule": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "scheduleRunTimes": { "type": "array", + "description": "List of times of day this schedule has to be run.", "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } + "format": "date-time" } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/VaultJobErrorInfo" - }, - "x-ms-identifiers": [ - "errorCode" - ] - }, - "extendedInfo": { - "$ref": "#/definitions/VaultJobExtendedInfo", - "description": "Additional information about the job." } - }, - "x-ms-discriminator-value": "VaultJob" + } }, - "VaultJobErrorInfo": { - "description": "Vault Job specific error information", + "DataMoveLevel": { + "type": "string", + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Vault", + "value": "Vault" + }, + { + "name": "Container", + "value": "Container" + } + ] + } + }, + "DataSourceType": { + "type": "string", + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "VM", + "value": "VM" + }, + { + "name": "FileFolder", + "value": "FileFolder" + }, + { + "name": "AzureSqlDb", + "value": "AzureSqlDb" + }, + { + "name": "SQLDB", + "value": "SQLDB" + }, + { + "name": "Exchange", + "value": "Exchange" + }, + { + "name": "Sharepoint", + "value": "Sharepoint" + }, + { + "name": "VMwareVM", + "value": "VMwareVM" + }, + { + "name": "SystemState", + "value": "SystemState" + }, + { + "name": "Client", + "value": "Client" + }, + { + "name": "GenericDataSource", + "value": "GenericDataSource" + }, + { + "name": "SQLDataBase", + "value": "SQLDataBase" + }, + { + "name": "AzureFileShare", + "value": "AzureFileShare" + }, + { + "name": "SAPHanaDatabase", + "value": "SAPHanaDatabase" + }, + { + "name": "SAPAseDatabase", + "value": "SAPAseDatabase" + }, + { + "name": "SAPHanaDBInstance", + "value": "SAPHanaDBInstance" + } + ] + } + }, + "Day": { "type": "object", + "description": "Day of the week.", "properties": { - "errorCode": { + "date": { + "type": "integer", "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" + "description": "Date of the month" }, - "recommendations": { - "description": "List of localized recommendations for above error code.", + "isLast": { + "type": "boolean", + "description": "Whether Date is last date of month" + } + } + }, + "DayOfWeek": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "DedupState": { + "type": "string", + "description": "Vault Dedup state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "DedupState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + } + }, + "DiskExclusionProperties": { + "type": "object", + "properties": { + "diskLunList": { "type": "array", + "description": "List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection.", "items": { - "type": "string" + "type": "integer", + "format": "int32" } + }, + "isInclusionList": { + "type": "boolean", + "description": "Flag to indicate whether DiskLunList is to be included/ excluded from backup." } } }, - "VaultJobExtendedInfo": { - "description": "Vault Job for CMK - has CMK specific info.", + "DiskInformation": { "type": "object", + "description": "Disk information", "properties": { - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "lun": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" } } }, - "AzureBackupServerContainer": { - "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", + "DistributedNodesInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DpmContainer" + "description": "This is used to represent the various nodes of the distributed container.", + "properties": { + "nodeName": { + "type": "string", + "description": "Name of the node under a distributed container." + }, + "status": { + "type": "string", + "description": "Status of this Node.\nFailed | Succeeded" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "sourceResourceId": { + "type": "string", + "description": "ARM resource id of the node" } - ], - "x-ms-discriminator-value": "AzureBackupServerContainer" + } }, - "AzureBackupServerEngine": { - "description": "Backup engine type when Azure Backup Server is used to manage the backups.", + "DpmBackupEngine": { "type": "object", + "description": "Data Protection Manager (DPM) specific backup engine.", "allOf": [ { "$ref": "#/definitions/BackupEngineBase" } ], - "x-ms-discriminator-value": "AzureBackupServerEngine" - }, - "AzureFileShareBackupRequest": { - "description": "AzureFileShare workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureFileShareBackupRequest" + "x-ms-discriminator-value": "DpmBackupEngine" }, - "AzureFileShareProtectableItem": { - "description": "Protectable item for Azure Fileshare workloads.", + "DpmContainer": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], + "description": "DPM workload-specific protection container.", "properties": { - "parentContainerFabricId": { - "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", - "type": "string" + "canReRegister": { + "type": "boolean", + "description": "Specifies whether the container is re-registrable." }, - "parentContainerFriendlyName": { - "description": "Friendly name of container to which this protectable item belongs.", - "type": "string" + "containerId": { + "type": "string", + "description": "ID of container." }, - "azureFileShareType": { - "description": "File Share type XSync or XSMB.", - "enum": [ - "Invalid", - "XSMB", - "XSync" - ], + "protectedItemCount": { + "type": "integer", + "format": "int64", + "description": "Number of protected items in the BackupEngine" + }, + "dpmAgentVersion": { "type": "string", - "x-ms-enum": { - "name": "AzureFileShareType", - "modelAsString": true + "description": "Backup engine Agent version" + }, + "dpmServers": { + "type": "array", + "description": "List of BackupEngines protecting the container", + "items": { + "type": "string" } - } - }, - "x-ms-discriminator-value": "AzureFileShare" - }, - "AzureFileShareProvisionILRRequest": { - "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ILRRequest" - } - ], - "properties": { - "recoveryPointId": { - "description": "Recovery point ID.", - "type": "string" }, - "sourceResourceId": { - "description": "Source Storage account ARM Id", - "type": "string" + "upgradeAvailable": { + "type": "boolean", + "description": "To check if upgrade available" + }, + "protectionStatus": { + "type": "string", + "description": "Protection status of the container." + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." } }, - "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" - }, - "AzureIaaSClassicComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSClassicComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" - }, - "AzureIaaSComputeVMContainer": { - "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMContainer" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSComputeVMProtectableItem": { - "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaaSVMProtectableItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureSQLAGWorkloadContainerProtectionContainer": { - "description": "Container for SQL workloads under SQL Availability Group.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/ProtectionContainer" } ], - "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + "x-ms-discriminator-value": "DPMContainer" }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", + "DpmErrorInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" + "description": "DPM workload-specific error information.", + "properties": { + "errorString": { + "type": "string", + "description": "Localized error string." + }, + "recommendations": { + "type": "array", + "description": "List of localized recommendations for above error code.", + "items": { + "type": "string" + } } - ], - "x-ms-discriminator-value": "AzureSqlContainer" + } }, - "AzureStorageContainer": { - "description": "Azure Storage Account workload-specific container.", + "DpmJob": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], + "description": "DPM workload-specific job object.", "properties": { - "sourceResourceId": { - "description": "Fully qualified ARM url.", - "type": "string" - }, - "storageAccountVersion": { - "description": "Storage account version.", - "type": "string" + "duration": { + "type": "string", + "format": "duration", + "description": "Time elapsed for job." }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" + "dpmServerName": { + "type": "string", + "description": "DPM server name managing the backup item or backup job." }, - "protectedItemCount": { - "format": "int64", - "description": "Number of items backed up in this container.", - "type": "integer" + "containerName": { + "type": "string", + "description": "Name of cluster/server protecting current backup item, if any." }, - "acquireStorageAccountLock": { - "description": "Whether storage account lock is to be acquired for this container or not.", - "enum": [ - "Acquire", - "NotAcquire" - ], + "containerType": { "type": "string", - "x-ms-enum": { - "name": "AcquireStorageAccountLock", - "modelAsString": true - } + "description": "Type of container." }, - "operationType": { - "description": "Re-Do Operation", - "enum": [ - "Invalid", - "Register", - "Reregister", - "Rehydrate" - ], + "workloadType": { "type": "string", - "x-ms-enum": { - "name": "OperationType", - "modelAsString": true + "description": "Type of backup item." + }, + "actionsInfo": { + "type": "array", + "description": "The state/actions applicable on this job like cancel/retry.", + "items": { + "$ref": "#/definitions/JobSupportedAction" } + }, + "errorDetails": { + "type": "array", + "description": "The errors.", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." } }, - "x-ms-discriminator-value": "StorageContainer" - }, - "AzureStorageProtectableContainer": { - "description": "Azure Storage-specific protectable containers", - "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectableContainer" - } - ], - "x-ms-discriminator-value": "StorageContainer" - }, - "AzureVMAppContainerProtectableContainer": { - "description": "Azure workload-specific container", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectableContainer" - } - ], - "x-ms-discriminator-value": "VMAppContainer" - }, - "AzureVMAppContainerProtectionContainer": { - "description": "Container for SQL workloads under Azure Virtual Machines.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadContainer" + "$ref": "#/definitions/Job" } ], - "x-ms-discriminator-value": "VMAppContainer" + "x-ms-discriminator-value": "DpmJob" }, - "AzureVmWorkloadItem": { - "description": "Azure VM workload-specific workload item.", + "DpmJobExtendedInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadItem" - } - ], + "description": "Additional information on the DPM workload-specific job.", "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" - }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" - }, - "isAutoProtectable": { - "description": "Indicates if workload item is auto-protectable", - "type": "boolean" + "tasksList": { + "type": "array", + "description": "List of tasks associated with this job.", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] }, - "subinquireditemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's present", - "type": "integer" + "propertyBag": { + "type": "object", + "description": "The job properties.", + "additionalProperties": { + "type": "string" + } }, - "subWorkloadItemCount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" + "dynamicErrorMessage": { + "type": "string", + "description": "Non localized error message on job execution." } - }, - "x-ms-discriminator-value": "AzureVmWorkloadItem" + } }, - "AzureVmWorkloadProtectableItem": { - "description": "Azure VM workload-specific protectable item.", + "DpmJobTaskDetails": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/WorkloadProtectableItem" - } - ], + "description": "DPM workload-specific job task details.", "properties": { - "parentName": { - "description": "Name for instance or AG", - "type": "string" + "taskId": { + "type": "string", + "description": "The task display name." }, - "parentUniqueName": { - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", - "type": "string" + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time." }, - "serverName": { - "description": "Host/Cluster Name for instance or AG", - "type": "string" + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time." }, - "isAutoProtectable": { - "description": "Indicates if protectable item is auto-protectable", - "type": "boolean" + "duration": { + "type": "string", + "format": "duration", + "description": "Time elapsed for task." }, - "isAutoProtected": { - "description": "Indicates if protectable item is auto-protected", - "type": "boolean" + "status": { + "type": "string", + "description": "The status." + } + } + }, + "EncryptionAtRestType": { + "type": "string", + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "x-ms-enum": { + "name": "EncryptionAtRestType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "MicrosoftManaged", + "value": "MicrosoftManaged" + }, + { + "name": "CustomerManaged", + "value": "CustomerManaged" + } + ] + } + }, + "EncryptionDetails": { + "type": "object", + "description": "Details needed if the VM was encrypted at the time of backup.", + "properties": { + "encryptionEnabled": { + "type": "boolean", + "description": "Identifies whether this backup copy represents an encrypted VM at the time of backup." }, - "subinquireditemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's present", - "type": "integer" + "kekUrl": { + "type": "string", + "description": "Key Url." }, - "subprotectableitemcount": { - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected", - "type": "integer" + "secretKeyUrl": { + "type": "string", + "description": "Secret Url." }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" + "kekVaultId": { + "type": "string", + "description": "ID of Key Vault where KEK is stored." }, - "isProtectable": { - "description": "Indicates if item is protectable", - "type": "boolean" + "secretKeyVaultId": { + "type": "string", + "description": "ID of Key Vault where Secret is stored." } - }, - "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + } }, - "AzureVmWorkloadSAPAseDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE Database.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } + "EnhancedSecurityState": { + "type": "string", + "description": "Enabled or Disabled.", + "enum": [ + "Invalid", + "Enabled", + "Disabled" ], - "x-ms-discriminator-value": "SAPAseDatabase" + "x-ms-enum": { + "name": "EnhancedSecurityState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + } }, - "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "ErrorDetail": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error Message related to the Code.", + "readOnly": true + }, + "recommendations": { + "type": "array", + "description": "List of recommendation strings.", + "items": { + "type": "string" + }, + "readOnly": true } - ], - "x-ms-discriminator-value": "SAPAseDatabase" + } }, - "AzureVmWorkloadSAPAseSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "ExportJobsOperationResultInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "description": "This class is used to send blob details after exporting jobs.", + "properties": { + "blobUrl": { + "type": "string", + "description": "URL of the blob into which the serialized string of list of jobs is exported." + }, + "blobSasKey": { + "type": "string", + "description": "SAS key to access the blob. It expires in 15 mins." + }, + "excelFileBlobUrl": { + "type": "string", + "description": "URL of the blob into which the ExcelFile is uploaded." + }, + "excelFileBlobSasKey": { + "type": "string", + "description": "SAS key to access the blob. It expires in 15 mins." } - ], - "x-ms-discriminator-value": "SAPAseSystem" - }, - "AzureVmWorkloadSAPAseSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP ASE System.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/OperationResultInfoBase" } ], - "x-ms-discriminator-value": "SAPAseSystem" + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" }, - "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "ExtendedLocation": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "description": "The extended location of Recovery point where VM was present.", + "properties": { + "name": { + "type": "string", + "description": "Name of the extended location." + }, + "type": { + "type": "string", + "description": "Type of the extended location. Possible values include: 'EdgeZone'" } - ], - "x-ms-discriminator-value": "SAPHanaDatabase" + } }, - "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "ExtendedProperties": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "description": "Extended Properties for Azure IaasVM Backup.", + "properties": { + "diskExclusionProperties": { + "$ref": "#/definitions/DiskExclusionProperties", + "description": "Extended Properties for Disk Exclusion." + }, + "linuxVmApplicationName": { + "type": "string", + "description": "Linux VM name" } + } + }, + "FabricName": { + "type": "string", + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" ], - "x-ms-discriminator-value": "SAPHanaDatabase" + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Azure", + "value": "Azure" + } + ] + } }, - "AzureVmWorkloadSAPHanaSystemProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "FeatureSupportRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "description": "Base class for feature request", + "properties": { + "featureType": { + "type": "string", + "description": "backup support feature type." } - ], - "x-ms-discriminator-value": "SAPHanaSystem" + }, + "discriminator": "featureType", + "required": [ + "featureType" + ] }, - "AzureVmWorkloadSAPHanaDBInstance": { - "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.", + "FetchTieringCostInfoForRehydrationRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "description": "Request parameters for fetching cost info of rehydration", + "properties": { + "containerName": { + "type": "string", + "description": "Name of the protected item container" + }, + "protectedItemName": { + "type": "string", + "description": "Name of the protectedItemName" + }, + "recoveryPointId": { + "type": "string", + "description": "ID of the backup copy for rehydration cost info needs to be fetched." + }, + "rehydrationPriority": { + "$ref": "#/definitions/RehydrationPriority", + "description": "Rehydration Priority" } + }, + "required": [ + "containerName", + "protectedItemName", + "recoveryPointId", + "rehydrationPriority" ], - "x-ms-discriminator-value": "SAPHanaDBInstance" - }, - "AzureVmWorkloadSAPHanaHSRProtectableItem": { - "description": "Azure VM workload-specific protectable item representing HANA HSR.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/FetchTieringCostInfoRequest" } ], - "x-ms-discriminator-value": "HanaHSRContainer" + "x-ms-discriminator-value": "FetchTieringCostInfoForRehydrationRequest" }, - "AzureVmWorkloadSAPHanaSystemWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "FetchTieringCostInfoRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "description": "Base class for tiering cost request.\nSpecific cost request types are derived from this class.", + "properties": { + "sourceTierType": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "Source tier for the request" + }, + "targetTierType": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "target tier for the request" + }, + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } - ], - "x-ms-discriminator-value": "SAPHanaSystem" + }, + "discriminator": "objectType", + "required": [ + "sourceTierType", + "targetTierType", + "objectType" + ] }, - "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "FetchTieringCostSavingsInfoForPolicyRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" - } - ], + "description": "Request parameters for tiering cost info for policy", "properties": { - "nodesList": { - "description": "List of the nodes in case of distributed container.", - "type": "array", - "items": { - "$ref": "#/definitions/DistributedNodesInfo" - }, - "x-ms-identifiers": [] + "policyName": { + "type": "string", + "description": "Name of the backup policy for which the cost savings information is requested" } }, - "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" - }, - "AzureVmWorkloadSQLDatabaseProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Database.", - "type": "object", + "required": [ + "policyName" + ], "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/FetchTieringCostInfoRequest" } ], - "x-ms-discriminator-value": "SQLDataBase" + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForPolicyRequest" }, - "AzureVmWorkloadSQLDatabaseWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Database.", + "FetchTieringCostSavingsInfoForProtectedItemRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureVmWorkloadItem" + "description": "Request parameters for tiering cost info for protected item", + "properties": { + "containerName": { + "type": "string", + "description": "Name of the protected item container" + }, + "protectedItemName": { + "type": "string", + "description": "Name of the protectedItemName" } + }, + "required": [ + "containerName", + "protectedItemName" ], - "x-ms-discriminator-value": "SQLDataBase" - }, - "AzureVmWorkloadSQLInstanceProtectableItem": { - "description": "Azure VM workload-specific protectable item representing SQL Instance.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + "$ref": "#/definitions/FetchTieringCostInfoRequest" } ], - "x-ms-discriminator-value": "SQLInstance" + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForProtectedItemRequest" }, - "AzureVmWorkloadSQLInstanceWorkloadItem": { - "description": "Azure VM workload-specific workload item representing SQL Instance.", + "FetchTieringCostSavingsInfoForVaultRequest": { "type": "object", + "description": "Request parameters for tiering cost info for vault", "allOf": [ { - "$ref": "#/definitions/AzureVmWorkloadItem" + "$ref": "#/definitions/FetchTieringCostInfoRequest" } ], - "properties": { - "dataDirectoryPaths": { - "description": "Data Directory Paths for default directories", - "type": "array", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - }, - "x-ms-identifiers": [] - } - }, - "x-ms-discriminator-value": "SQLInstance" + "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForVaultRequest" }, - "AzureWorkloadBackupRequest": { - "description": "AzureWorkload workload-specific backup request.", + "GenericContainer": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } - ], + "description": "Base class for generic container of backup items", "properties": { - "backupType": { - "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", - "enum": [ - "Invalid", - "Full", - "Differential", - "Log", - "CopyOnlyFull", - "Incremental", - "SnapshotFull", - "SnapshotCopyOnlyFull" - ], - "type": "string", - "x-ms-enum": { - "name": "backupType", - "modelAsString": true - } - }, - "enableCompression": { - "description": "Bool for Compression setting", - "type": "boolean" + "fabricName": { + "type": "string", + "description": "Name of the container's fabric" }, - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" } }, - "x-ms-discriminator-value": "AzureWorkloadBackupRequest" - }, - "AzureBackupGoalFeatureSupportRequest": { - "description": "Azure backup goal feature specific request.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/FeatureSupportRequest" + "$ref": "#/definitions/ProtectionContainer" } ], - "x-ms-discriminator-value": "AzureBackupGoals" + "x-ms-discriminator-value": "GenericContainer" }, - "AzureRecoveryServiceVaultProtectionIntent": { - "description": "Azure Recovery Services Vault specific protection intent item.", + "GenericContainerExtendedInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionIntent" + "description": "Container extended information", + "properties": { + "rawCertData": { + "type": "string", + "description": "Public key of container cert" + }, + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "type": "object", + "description": "Azure Backup Service Endpoints for the container", + "additionalProperties": { + "type": "string" + } } - ], - "x-ms-discriminator-value": "RecoveryServiceVaultItem" + } }, - "AzureResourceProtectionIntent": { - "description": "IaaS VM specific backup protection intent item.", + "GenericProtectedItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionIntent" - } - ], + "description": "Base class for backup items.", "properties": { "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" + "type": "string", + "description": "Friendly name of the container." + }, + "policyState": { + "type": "string", + "description": "Indicates consistency of policy object and policy applied to this backup item." + }, + "protectionState": { + "$ref": "#/definitions/ProtectionState", + "description": "Backup state of this backup item." + }, + "protectedItemId": { + "type": "integer", + "format": "int64", + "description": "Data Plane Service ID of the protected item." + }, + "sourceAssociations": { + "type": "object", + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "type": "string", + "description": "Name of this backup item's fabric." } }, - "x-ms-discriminator-value": "AzureResourceItem" - }, - "AzureVMResourceFeatureSupportRequest": { - "description": "AzureResource(IaaS VM) Specific feature support request", - "type": "object", "allOf": [ { - "$ref": "#/definitions/FeatureSupportRequest" + "$ref": "#/definitions/ProtectedItem" } ], - "properties": { - "vmSize": { - "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", - "type": "string" - }, - "vmSku": { - "description": "SKUs (Premium/Managed etc) in case of IaasVM", - "type": "string" - } - }, - "x-ms-discriminator-value": "AzureVMResourceBackup" + "x-ms-discriminator-value": "GenericProtectedItem" }, - "AzureVMResourceFeatureSupportResponse": { - "description": "Response for feature support requests for Azure IaasVm", + "GenericProtectionPolicy": { "type": "object", + "description": "Azure VM (Mercury) workload-specific backup policy.", "properties": { - "supportStatus": { - "description": "Support status of feature", - "enum": [ - "Invalid", - "Supported", - "DefaultOFF", - "DefaultON", - "NotSupported" - ], + "subProtectionPolicy": { + "type": "array", + "description": "List of sub-protection policies which includes schedule and retention", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + }, + "x-ms-identifiers": [] + }, + "timeZone": { "type": "string", - "x-ms-enum": { - "name": "SupportStatus", - "modelAsString": true - } + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." + }, + "fabricName": { + "type": "string", + "description": "Name of this policy's fabric." } - } - }, - "AzureWorkloadContainerAutoProtectionIntent": { - "description": "Azure workload specific protection intent item.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ProtectionIntent" + "$ref": "#/definitions/ProtectionPolicy" } ], - "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent" + "x-ms-discriminator-value": "GenericProtectionPolicy" }, - "AzureWorkloadAutoProtectionIntent": { - "description": "Azure Recovery Services Vault specific protection intent item.", + "GenericRecoveryPoint": { "type": "object", + "description": "Generic backup copy.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the backup copy." + }, + "recoveryPointType": { + "type": "string", + "description": "Type of the backup copy." + }, + "recoveryPointTime": { + "type": "string", + "format": "date-time", + "description": "Time at which this backup copy was created." + }, + "recoveryPointAdditionalInfo": { + "type": "string", + "description": "Additional information associated with this backup copy." + }, + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" + } + }, "allOf": [ { - "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + "x-ms-discriminator-value": "GenericRecoveryPoint" }, - "AzureWorkloadSQLAutoProtectionIntent": { - "description": "Azure Workload SQL Auto Protection intent item.", + "GetProtectedItemQueryObject": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" - } - ], + "description": "Filters to list backup items.", "properties": { - "workloadItemType": { - "description": "Workload item type of the item for which intent is to be set", - "enum": [ - "Invalid", - "SQLInstance", - "SQLDataBase", - "SAPHanaSystem", - "SAPHanaDatabase", - "SAPAseSystem", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], + "expand": { "type": "string", - "x-ms-enum": { - "name": "WorkloadItemType", - "modelAsString": true - } + "description": "Specifies if the additional information should be provided for this item." } - }, - "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + } }, - "BackupManagementUsage": { - "description": "Backup management usages of a vault.", - "type": "object", - "properties": { - "unit": { - "description": "Unit of the usage.", - "enum": [ - "Count", - "Bytes", - "Seconds", - "Percent", - "CountPerSecond", - "BytesPerSecond" - ], - "type": "string", - "x-ms-enum": { - "name": "UsagesUnit", - "modelAsString": true + "HealthState": { + "type": "string", + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true, + "values": [ + { + "name": "Passed", + "value": "Passed" + }, + { + "name": "ActionRequired", + "value": "ActionRequired" + }, + { + "name": "ActionSuggested", + "value": "ActionSuggested" + }, + { + "name": "Invalid", + "value": "Invalid" } - }, - "quotaPeriod": { - "description": "Quota period of usage.", - "type": "string" - }, - "nextResetTime": { - "format": "date-time", - "description": "Next reset time of usage.", - "type": "string" - }, - "currentValue": { - "format": "int64", - "description": "Current value of usage.", - "type": "integer" - }, - "limit": { - "format": "int64", - "description": "Limit of usage.", - "type": "integer" - }, - "name": { - "$ref": "#/definitions/NameInfo", - "description": "Name of usage." - } + ] } }, - "BackupManagementUsageList": { - "description": "Backup management usage for vault.", - "type": "object", - "properties": { - "value": { - "description": "The list of backup management usages for the given vault.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupManagementUsage" + "HealthStatus": { + "type": "string", + "description": "Health status of protected item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true, + "values": [ + { + "name": "Passed", + "value": "Passed" }, - "x-ms-identifiers": [] - } - } - }, - "BackupStatusRequest": { - "description": "BackupStatus request.", - "type": "object", - "properties": { - "resourceType": { - "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true + { + "name": "ActionRequired", + "value": "ActionRequired" + }, + { + "name": "ActionSuggested", + "value": "ActionSuggested" + }, + { + "name": "Invalid", + "value": "Invalid" } - }, - "resourceId": { - "description": "Entire ARM resource id of the resource", - "type": "string" - }, - "poLogicalName": { - "description": "Protectable Item Logical Name", - "type": "string" - } + ] } }, - "BackupStatusResponse": { - "description": "BackupStatus response.", + "HourlySchedule": { "type": "object", "properties": { - "protectionStatus": { - "description": "Specifies whether the container is registered or not", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } - }, - "vaultId": { - "description": "Specifies the arm resource id of the vault", - "type": "string" + "interval": { + "type": "integer", + "format": "int32", + "description": "Interval at which backup needs to be triggered. For hourly the value\ncan be 4/6/8/12" }, - "fabricName": { - "description": "Specifies the fabric name - Azure or AD", - "enum": [ - "Invalid", - "Azure" - ], + "scheduleWindowStartTime": { "type": "string", - "x-ms-enum": { - "name": "FabricName", - "modelAsString": true - } - }, - "containerName": { - "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", - "type": "string" - }, - "protectedItemName": { - "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", - "type": "string" - }, - "errorCode": { - "description": "ErrorCode in case of intent failed", - "type": "string" - }, - "errorMessage": { - "description": "ErrorMessage in case of intent failed.", - "type": "string" - }, - "policyName": { - "description": "Specifies the policy name which is used for protection", - "type": "string" - }, - "registrationStatus": { - "description": "Container registration status", - "type": "string" + "format": "date-time", + "description": "To specify start time of the backup window" }, - "protectedItemsCount": { + "scheduleWindowDuration": { + "type": "integer", "format": "int32", - "description": "Number of protected items", - "type": "integer" - }, - "acquireStorageAccountLock": { - "description": "Specifies whether the storage account lock has been acquired or not", - "enum": [ - "Acquire", - "NotAcquire" - ], - "type": "string", - "x-ms-enum": { - "name": "AcquireStorageAccountLock", - "modelAsString": true - } + "description": "To specify duration of the backup window" } } }, - "BMSBackupSummariesQueryObject": { - "description": "Query parameters to fetch backup summaries.", - "type": "object", - "properties": { - "type": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "BackupProtectedItemCountSummary", - "BackupProtectionContainerCountSummary" - ], - "type": "string", - "x-ms-enum": { - "name": "Type", - "modelAsString": true - } - } + "HttpStatusCode": { + "type": "string", + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false } }, - "FeatureSupportRequest": { - "description": "Base class for feature request", - "required": [ - "featureType" + "IAASVMPolicyType": { + "type": "string", + "enum": [ + "Invalid", + "V1", + "V2" ], + "x-ms-enum": { + "name": "IAASVMPolicyType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "V1", + "value": "V1" + }, + { + "name": "V2", + "value": "V2" + } + ] + } + }, + "ILRRequest": { "type": "object", + "description": "Parameters to Provision ILR API.", "properties": { - "featureType": { - "description": "backup support feature type.", - "type": "string" + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } }, - "discriminator": "featureType" + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "NameInfo": { - "description": "The name of usage.", + "ILRRequestResource": { "type": "object", + "description": "Parameters to Provision ILR API.", "properties": { - "value": { - "description": "Value of usage.", - "type": "string" - }, - "localizedValue": { - "description": "Localized value of usage.", - "type": "string" + "properties": { + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" } - } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] }, - "PreValidateEnableBackupRequest": { - "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "IaaSVMContainer": { "type": "object", + "description": "IaaS VM workload-specific container.", "properties": { - "resourceType": { - "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true - } - }, - "resourceId": { - "description": "ARM Virtual Machine Id", - "type": "string" + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." }, - "vaultId": { - "description": "ARM id of the Recovery Services Vault", - "type": "string" + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." }, - "properties": { - "description": "Configuration of VM if any needs to be validated like OS type etc", - "type": "string" + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "IaasVMContainer" }, - "PreValidateEnableBackupResponse": { - "description": "Response contract for enable backup validation request", + "IaaSVMProtectableItem": { "type": "object", + "description": "IaaS VM workload-specific backup item.", "properties": { - "status": { - "description": "Validation Status", - "enum": [ - "Invalid", - "Succeeded", - "Failed" - ], + "virtualMachineId": { "type": "string", - "x-ms-enum": { - "name": "ValidationStatus", - "modelAsString": true - } - }, - "errorCode": { - "description": "Response error code", - "type": "string" + "description": "Fully qualified ARM ID of the virtual machine." }, - "errorMessage": { - "description": "Response error message", - "type": "string" - }, - "recommendation": { - "description": "Recommended action for user", - "type": "string" - }, - "containerName": { - "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", - "type": "string" + "virtualMachineVersion": { + "type": "string", + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." }, - "protectedItemName": { - "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", - "type": "string" + "resourceGroup": { + "type": "string", + "description": "Resource group name of Recovery Services Vault." + } + }, + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" } - } - }, - "ProtectionIntent": { - "description": "Base class for backup ProtectionIntent.", - "required": [ - "protectionIntentItemType" ], + "x-ms-discriminator-value": "IaaSVMProtectableItem" + }, + "IaasVMBackupRequest": { "type": "object", + "description": "IaaS VM workload-specific backup request.", "properties": { - "protectionIntentItemType": { - "description": "backup protectionIntent type.", - "enum": [ - "Invalid", - "AzureResourceItem", - "RecoveryServiceVaultItem", - "AzureWorkloadContainerAutoProtectionIntent", - "AzureWorkloadAutoProtectionIntent", - "AzureWorkloadSQLAutoProtectionIntent" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionIntentItemType", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup management for the backed up item.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "itemId": { - "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of this backup item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], + "recoveryPointExpiryTimeInUTC": { "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC)." } }, - "discriminator": "protectionIntentItemType" + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "x-ms-discriminator-value": "IaasVMBackupRequest" }, - "ProtectionIntentQueryObject": { - "description": "Filters to list protection intent.", + "IaasVMRecoveryPoint": { "type": "object", + "description": "IaaS VM workload specific backup copy.", "properties": { - "backupManagementType": { - "description": "Backup management type for the backed up item", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } + "recoveryPointType": { + "type": "string", + "description": "Type of the backup copy." + }, + "recoveryPointTime": { + "type": "string", + "format": "date-time", + "description": "Time at which this backup copy was created." + }, + "recoveryPointAdditionalInfo": { + "type": "string", + "description": "Additional information associated with this backup copy." + }, + "sourceVMStorageType": { + "type": "string", + "description": "Storage type of the VM whose backup copy is created." + }, + "isSourceVMEncrypted": { + "type": "boolean", + "description": "Identifies whether the VM was encrypted when the backup copy is created." + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "type": "boolean", + "description": "Is the session to recover items from this backup copy still active." + }, + "recoveryPointTierDetails": { + "type": "array", + "description": "Recovery point tier information.", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + }, + "x-ms-identifiers": [] + }, + "isManagedVirtualMachine": { + "type": "boolean", + "description": "Whether VM is with Managed Disks" + }, + "virtualMachineSize": { + "type": "string", + "description": "Virtual Machine Size" + }, + "originalStorageAccountOption": { + "type": "boolean", + "description": "Original Storage Account Option" + }, + "osType": { + "type": "string", + "description": "OS type" + }, + "recoveryPointDiskConfiguration": { + "$ref": "#/definitions/RecoveryPointDiskConfiguration", + "description": "Disk configuration" + }, + "zones": { + "type": "array", + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "items": { + "type": "string" + } + }, + "recoveryPointMoveReadinessInfo": { + "type": "object", + "description": "Eligibility of RP to be moved to another tier", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + }, + "securityType": { + "type": "string", + "description": "Security Type of the Disk" + }, + "recoveryPointProperties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Properties of Recovery Point" + }, + "isPrivateAccessEnabledOnAnyDisk": { + "type": "boolean", + "description": "This flag denotes if any of the disks in the VM are using Private access network setting" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Extended location of the VM recovery point,\nshould be null if VM is in public cloud" + } + }, + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "x-ms-discriminator-value": "IaasVMRecoveryPoint" + }, + "IaasVMRestoreRequest": { + "type": "object", + "description": "IaaS VM workload-specific restore.", + "properties": { + "recoveryPointId": { + "type": "string", + "description": "ID of the backup copy to be recovered." + }, + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM which is being recovered." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the VM that will be created.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" + }, + "targetResourceGroupId": { + "type": "string", + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}" + }, + "storageAccountId": { + "type": "string", + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored." + }, + "virtualNetworkId": { + "type": "string", + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\nUser will be validated for join action permissions in the linked access." + }, + "subnetId": { + "type": "string", + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\nthe subnet." + }, + "targetDomainNameId": { + "type": "string", + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\nVirtual Machines." + }, + "region": { + "type": "string", + "description": "Region in which the virtual machine is restored." + }, + "affinityGroup": { + "type": "string", + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines." + }, + "createNewCloudService": { + "type": "boolean", + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\ncloud service as it was at the time of backup." + }, + "originalStorageAccountOption": { + "type": "boolean", + "description": "Original Storage Account Option" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "type": "array", + "description": "List of Disk LUNs for partial restore", + "items": { + "type": "integer", + "format": "int32" + } + }, + "restoreWithManagedDisks": { + "type": "boolean", + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks." + }, + "diskEncryptionSetId": { + "type": "string", + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key." + }, + "zones": { + "type": "array", + "description": "Target zone where the VM and its disks should be restored.", + "items": { + "type": "string" + } + }, + "identityInfo": { + "$ref": "#/definitions/IdentityInfo", + "description": "Managed Identity information required to access customer storage account." + }, + "identityBasedRestoreDetails": { + "$ref": "#/definitions/IdentityBasedRestoreDetails", + "description": "IaaS VM workload specific restore details for restores using managed identity." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Target extended location where the VM should be restored,\nshould be null if restore is to be done in public cloud" + }, + "securedVMDetails": { + "$ref": "#/definitions/SecuredVMDetails", + "description": "Stores Secured VM Details" + }, + "targetDiskNetworkAccessSettings": { + "$ref": "#/definitions/TargetDiskNetworkAccessSettings", + "description": "Specifies target network access settings for disks of VM to be restored," + } + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "IaasVMRestoreRequest" + }, + "IaasVMRestoreWithRehydrationRequest": { + "type": "object", + "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + }, + "recoveryPointId": { + "type": "string", + "description": "ID of the backup copy to be recovered." + }, + "recoveryType": { + "$ref": "#/definitions/RecoveryType", + "description": "Type of this recovery." + }, + "sourceResourceId": { + "type": "string", + "description": "Fully qualified ARM ID of the VM which is being recovered." + }, + "targetVirtualMachineId": { + "type": "string", + "description": "This is the complete ARM Id of the VM that will be created.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" + }, + "targetResourceGroupId": { + "type": "string", + "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}" + }, + "storageAccountId": { + "type": "string", + "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored." + }, + "virtualNetworkId": { + "type": "string", + "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\nUser will be validated for join action permissions in the linked access." + }, + "subnetId": { + "type": "string", + "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\nthe subnet." + }, + "targetDomainNameId": { + "type": "string", + "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\nVirtual Machines." + }, + "region": { + "type": "string", + "description": "Region in which the virtual machine is restored." + }, + "affinityGroup": { + "type": "string", + "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines." + }, + "createNewCloudService": { + "type": "boolean", + "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\ncloud service as it was at the time of backup." + }, + "originalStorageAccountOption": { + "type": "boolean", + "description": "Original Storage Account Option" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Details needed if the VM was encrypted at the time of backup." + }, + "restoreDiskLunList": { + "type": "array", + "description": "List of Disk LUNs for partial restore", + "items": { + "type": "integer", + "format": "int32" + } + }, + "restoreWithManagedDisks": { + "type": "boolean", + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks." + }, + "diskEncryptionSetId": { + "type": "string", + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key." + }, + "zones": { + "type": "array", + "description": "Target zone where the VM and its disks should be restored.", + "items": { + "type": "string" + } + }, + "identityInfo": { + "$ref": "#/definitions/IdentityInfo", + "description": "Managed Identity information required to access customer storage account." + }, + "identityBasedRestoreDetails": { + "$ref": "#/definitions/IdentityBasedRestoreDetails", + "description": "IaaS VM workload specific restore details for restores using managed identity." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Target extended location where the VM should be restored,\nshould be null if restore is to be done in public cloud" + }, + "securedVMDetails": { + "$ref": "#/definitions/SecuredVMDetails", + "description": "Stores Secured VM Details" + }, + "targetDiskNetworkAccessSettings": { + "$ref": "#/definitions/TargetDiskNetworkAccessSettings", + "description": "Specifies target network access settings for disks of VM to be restored," + } + }, + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + }, + "IaasVMSnapshotConsistencyType": { + "type": "string", + "enum": [ + "OnlyCrashConsistent" + ], + "x-ms-enum": { + "name": "IaasVMSnapshotConsistencyType", + "modelAsString": true, + "values": [ + { + "name": "OnlyCrashConsistent", + "value": "OnlyCrashConsistent" + } + ] + } + }, + "IaasVmilrRegistrationRequest": { + "type": "object", + "description": "Restore files/folders from a backup copy of IaaS VM.", + "properties": { + "recoveryPointId": { + "type": "string", + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored." + }, + "initiatorName": { + "type": "string", + "description": "iSCSI initiator name." + }, + "renewExistingRegistration": { + "type": "boolean", + "description": "Whether to renew existing registration with the iSCSI server." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" + }, + "IdentityBasedRestoreDetails": { + "type": "object", + "description": "IaaS VM workload specific restore details for restores using managed identity", + "properties": { + "objectType": { + "type": "string", + "description": "Gets the class type." + }, + "targetStorageAccountId": { + "type": "string", + "description": "Fully qualified ARM ID of the target storage account." + } + } + }, + "IdentityInfo": { + "type": "object", + "description": "Encapsulates Managed Identity related information", + "properties": { + "isSystemAssignedIdentity": { + "type": "boolean", + "description": "To differentiate if the managed identity is system assigned or user assigned" + }, + "managedIdentityResourceId": { + "type": "string", + "description": "Managed Identity Resource Id\nOptional: Might not be required in the case of system assigned managed identity" + } + } + }, + "InfrastructureEncryptionState": { + "type": "string", + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Disabled", + "value": "Disabled" + }, + { + "name": "Enabled", + "value": "Enabled" + } + ] + } + }, + "InquiryInfo": { + "type": "object", + "description": "Details about inquired protectable items under a given container.", + "properties": { + "status": { + "type": "string", + "description": "Inquiry Status for this container such as\nInProgress | Failed | Succeeded" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "type": "array", + "description": "Inquiry Details which will have workload specific details.\nFor e.g. - For SQL and oracle this will contain different details.", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "InquiryStatus": { + "type": "string", + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", + "enum": [ + "Invalid", + "Success", + "Failed" + ], + "x-ms-enum": { + "name": "InquiryStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Success", + "value": "Success" + }, + { + "name": "Failed", + "value": "Failed" + } + ] + } + }, + "InquiryValidation": { + "type": "object", + "description": "Validation for inquired protectable items under a given container.", + "properties": { + "status": { + "type": "string", + "description": "Status for the Inquiry Validation." + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "type": "string", + "description": "Error Additional Detail in case the status is non-success.", + "readOnly": true + }, + "protectableItemCount": { + "description": "Dictionary to store the count of ProtectableItems with key POType.", + "readOnly": true + } + } + }, + "InstantItemRecoveryTarget": { + "type": "object", + "description": "Target details for file / folder restore.", + "properties": { + "clientScripts": { + "type": "array", + "description": "List of client scripts.", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" + }, + "x-ms-identifiers": [] + } + } + }, + "InstantRPAdditionalDetails": { + "type": "object", + "properties": { + "azureBackupRGNamePrefix": { + "type": "string" + }, + "azureBackupRGNameSuffix": { + "type": "string" + } + } + }, + "IntentItemType": { + "type": "string", + "description": "Type of workload this item represents", + "enum": [ + "Invalid", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "SQLInstance", + "value": "SQLInstance" + }, + { + "name": "SQLAvailabilityGroupContainer", + "value": "SQLAvailabilityGroupContainer" + } + ] + } + }, + "Job": { + "type": "object", + "description": "Defines workload agnostic properties for a job.", + "properties": { + "entityFriendlyName": { + "type": "string", + "description": "Friendly name of the entity on which the current job is executing." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type to execute the current job." + }, + "operation": { + "type": "string", + "description": "The operation name." + }, + "status": { + "type": "string", + "description": "Job status." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time." + }, + "activityId": { + "type": "string", + "description": "ActivityId of job." + }, + "jobType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." + } + }, + "discriminator": "jobType", + "required": [ + "jobType" + ] + }, + "JobOperationType": { + "type": "string", + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData", + "CrossRegionRestore", + "Undelete", + "UpdateCustomerManagedKey" + ], + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Register", + "value": "Register" + }, + { + "name": "UnRegister", + "value": "UnRegister" + }, + { + "name": "ConfigureBackup", + "value": "ConfigureBackup" + }, + { + "name": "Backup", + "value": "Backup" + }, + { + "name": "Restore", + "value": "Restore" + }, + { + "name": "DisableBackup", + "value": "DisableBackup" + }, + { + "name": "DeleteBackupData", + "value": "DeleteBackupData" + }, + { + "name": "CrossRegionRestore", + "value": "CrossRegionRestore" + }, + { + "name": "Undelete", + "value": "Undelete" + }, + { + "name": "UpdateCustomerManagedKey", + "value": "UpdateCustomerManagedKey" + } + ] + } + }, + "JobQueryObject": { + "type": "object", + "description": "Filters to list the jobs.", + "properties": { + "status": { + "$ref": "#/definitions/JobStatus", + "description": "Status of the job." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the job." + }, + "operation": { + "$ref": "#/definitions/JobOperationType", + "description": "Type of operation." + }, + "jobId": { + "type": "string", + "description": "JobID represents the job uniquely." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Job has started at this time. Value is in UTC." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC." + } + } + }, + "JobResource": { + "type": "object", + "description": "Defines workload agnostic properties for a job.", + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "JobResourceList": { + "type": "object", + "description": "List of Job resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/JobResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." + } + } + }, + "JobStatus": { + "type": "string", + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "InProgress", + "value": "InProgress" + }, + { + "name": "Completed", + "value": "Completed" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "CompletedWithWarnings", + "value": "CompletedWithWarnings" + }, + { + "name": "Cancelled", + "value": "Cancelled" + }, + { + "name": "Cancelling", + "value": "Cancelling" + } + ] + } + }, + "JobSupportedAction": { + "type": "string", + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + }, + "KEKDetails": { + "type": "object", + "description": "KEK is encryption key for BEK.", + "properties": { + "keyUrl": { + "type": "string", + "description": "Key is KEK." + }, + "keyVaultId": { + "type": "string", + "description": "Key Vault ID where this Key is stored." + }, + "keyBackupData": { + "type": "string", + "description": "KEK data." + } + } + }, + "KPIResourceHealthDetails": { + "type": "object", + "description": "KPI Resource Health Details", + "properties": { + "resourceHealthStatus": { + "$ref": "#/definitions/ResourceHealthStatus", + "description": "Resource Health Status" + }, + "resourceHealthDetails": { + "type": "array", + "description": "Resource Health Status", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + } + } + }, + "KeyAndSecretDetails": { + "type": "object", + "description": "BEK is bitlocker key.\nKEK is encryption key for BEK\nIf the VM was encrypted then we will store following details :\n1. Secret(BEK) - Url + Backup Data + vaultId.\n2. Key(KEK) - Url + Backup Data + vaultId.\n3. EncryptionMechanism\nBEK and KEK can potentially have different vault ids.", + "properties": { + "kekDetails": { + "$ref": "#/definitions/KEKDetails", + "description": "KEK is encryption key for BEK." + }, + "bekDetails": { + "$ref": "#/definitions/BEKDetails", + "description": "BEK is bitlocker encryption key." + }, + "encryptionMechanism": { + "type": "string", + "description": "Encryption mechanism: None/ SinglePass/ DoublePass" + } + } + }, + "LastBackupStatus": { + "type": "string", + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Healthy", + "value": "Healthy" + }, + { + "name": "Unhealthy", + "value": "Unhealthy" + }, + { + "name": "IRPending", + "value": "IRPending" + } + ] + } + }, + "LastUpdateStatus": { + "type": "string", + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded", + "Initialized", + "FirstInitialization" + ], + "x-ms-enum": { + "name": "LastUpdateStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "NotEnabled", + "value": "NotEnabled" + }, + { + "name": "PartiallySucceeded", + "value": "PartiallySucceeded" + }, + { + "name": "PartiallyFailed", + "value": "PartiallyFailed" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Initialized", + "value": "Initialized" + }, + { + "name": "FirstInitialization", + "value": "FirstInitialization" + } + ] + } + }, + "ListRecoveryPointsRecommendedForMoveRequest": { + "type": "object", + "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "properties": { + "objectType": { + "type": "string", + "description": "Gets the class type." + }, + "excludedRPList": { + "type": "array", + "description": "List of Recovery Points excluded from Move", + "items": { + "type": "string" + } + } + } + }, + "LogSchedulePolicy": { + "type": "object", + "description": "Log policy schedule.", + "properties": { + "scheduleFrequencyInMins": { + "type": "integer", + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "type": "object", + "description": "Long term retention policy.", + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "type": "object", + "description": "Long term policy schedule.", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "x-ms-discriminator-value": "LongTermSchedulePolicy" + }, + "MABContainerHealthDetails": { + "type": "object", + "description": "MAB workload-specific Health Details.", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "Health Code" + }, + "title": { + "type": "string", + "description": "Health Title" + }, + "message": { + "type": "string", + "description": "Health Message" + }, + "recommendations": { + "type": "array", + "description": "Health Recommended Actions", + "items": { + "type": "string" + } + } + } + }, + "MabContainer": { + "type": "object", + "description": "Container with items backed up using MAB backup engine.", + "properties": { + "canReRegister": { + "type": "boolean", + "description": "Can the container be registered one more time." + }, + "containerId": { + "type": "integer", + "format": "int64", + "description": "ContainerID represents the container." + }, + "protectedItemCount": { + "type": "integer", + "format": "int64", + "description": "Number of items backed up in this container." + }, + "agentVersion": { + "type": "string", + "description": "Agent version of this container." + }, + "extendedInfo": { + "$ref": "#/definitions/MabContainerExtendedInfo", + "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "type": "array", + "description": "Health details on this mab container.", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + }, + "x-ms-identifiers": [ + "code" + ] + }, + "containerHealthState": { + "type": "string", + "description": "Health state of mab container." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "Windows" + }, + "MabContainerExtendedInfo": { + "type": "object", + "description": "Additional information of the container.", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Time stamp when this container was refreshed." + }, + "backupItemType": { + "$ref": "#/definitions/BackupItemType", + "description": "Type of backup items associated with this container." + }, + "backupItems": { + "type": "array", + "description": "List of backup items associated with this container.", + "items": { + "type": "string" + } + }, + "policyName": { + "type": "string", + "description": "Backup policy associated with this container." + }, + "lastBackupStatus": { + "type": "string", + "description": "Latest backup status of this container." + } + } + }, + "MabErrorInfo": { + "type": "object", + "description": "MAB workload-specific error information.", + "properties": { + "errorString": { + "type": "string", + "description": "Localized error string.", + "readOnly": true + }, + "recommendations": { + "type": "array", + "description": "List of localized recommendations.", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "MabFileFolderProtectedItem": { + "type": "object", + "description": "MAB workload-specific backup item.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of this backup item." + }, + "computerName": { + "type": "string", + "description": "Name of the computer associated with this backup item." + }, + "lastBackupStatus": { + "type": "string", + "description": "Status of last backup operation." + }, + "lastBackupTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item." + }, + "protectionState": { + "type": "string", + "description": "Protected, ProtectionStopped, IRPending or ProtectionError" + }, + "deferredDeleteSyncTimeInUTC": { + "type": "integer", + "format": "int64", + "description": "Sync time for deferred deletion in UTC" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "type": "object", + "description": "Additional information on the backed up item.", + "properties": { + "lastRefreshedAt": { + "type": "string", + "format": "date-time", + "description": "Last time when the agent data synced to service." + }, + "oldestRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "The oldest backup copy available." + }, + "recoveryPointCount": { + "type": "integer", + "format": "int32", + "description": "Number of backup copies associated with the backup item." + } + } + }, + "MabJob": { + "type": "object", + "description": "MAB workload-specific job.", + "properties": { + "duration": { + "type": "string", + "format": "duration", + "description": "Time taken by job to run." + }, + "actionsInfo": { + "type": "array", + "description": "The state/actions applicable on jobs like cancel/retry.", + "items": { + "$ref": "#/definitions/JobSupportedAction" + } + }, + "mabServerName": { + "type": "string", + "description": "Name of server protecting the DS." + }, + "mabServerType": { + "$ref": "#/definitions/MabServerType", + "description": "Server type of MAB container." + }, + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type of backup item." + }, + "errorDetails": { + "type": "array", + "description": "The errors.", + "items": { + "$ref": "#/definitions/MabErrorInfo" + }, + "x-ms-identifiers": [] + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "type": "object", + "description": "Additional information for the MAB workload-specific job.", + "properties": { + "tasksList": { + "type": "array", + "description": "List of tasks for this job.", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + }, + "x-ms-identifiers": [ + "taskId" + ] + }, + "propertyBag": { + "type": "object", + "description": "The job properties.", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "type": "string", + "description": "Non localized error message specific to this job." + } + } + }, + "MabJobTaskDetails": { + "type": "object", + "description": "MAB workload-specific job task details.", + "properties": { + "taskId": { + "type": "string", + "description": "The task display name." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time." + }, + "duration": { + "type": "string", + "format": "duration", + "description": "Time elapsed for task." + }, + "status": { + "type": "string", + "description": "The status." + } + } + }, + "MabProtectionPolicy": { + "type": "object", + "description": "Mab container-specific backup policy.", + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "x-ms-discriminator-value": "MAB" + }, + "MabServerType": { + "type": "string", + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Unknown", + "value": "Unknown" + }, + { + "name": "IaasVMContainer", + "value": "IaasVMContainer" + }, + { + "name": "IaasVMServiceContainer", + "value": "IaasVMServiceContainer" + }, + { + "name": "DPMContainer", + "value": "DPMContainer" + }, + { + "name": "AzureBackupServerContainer", + "value": "AzureBackupServerContainer" + }, + { + "name": "MABContainer", + "value": "MABContainer" + }, + { + "name": "Cluster", + "value": "Cluster" + }, + { + "name": "AzureSqlContainer", + "value": "AzureSqlContainer" + }, + { + "name": "Windows", + "value": "Windows" + }, + { + "name": "VCenter", + "value": "VCenter" + }, + { + "name": "VMAppContainer", + "value": "VMAppContainer" + }, + { + "name": "SQLAGWorkLoadContainer", + "value": "SQLAGWorkLoadContainer" + }, + { + "name": "StorageContainer", + "value": "StorageContainer" + }, + { + "name": "GenericContainer", + "value": "GenericContainer" + } + ] + } + }, + "MonthOfYear": { + "type": "string", + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + }, + "MonthlyRetentionSchedule": { + "type": "object", + "description": "Monthly retention schedule.", + "properties": { + "retentionScheduleFormatType": { + "$ref": "#/definitions/RetentionScheduleFormat", + "description": "Retention schedule format type for monthly retention policy." + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "type": "array", + "description": "Retention times of retention policy.", + "items": { + "type": "string", + "format": "date-time" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "MoveRPAcrossTiersRequest": { + "type": "object", + "properties": { + "objectType": { + "type": "string", + "description": "Gets the class type." + }, + "sourceTierType": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "Source tier from where RP needs to be moved" + }, + "targetTierType": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "Target tier where RP needs to be moved" + } + } + }, + "NameInfo": { + "type": "object", + "description": "The name of usage.", + "properties": { + "value": { + "type": "string", + "description": "Value of usage." + }, + "localizedValue": { + "type": "string", + "description": "Localized value of usage." + } + } + }, + "NewErrorResponse": { + "type": "object", + "description": "The resource management error response.", + "properties": { + "error": { + "$ref": "#/definitions/NewErrorResponseError", + "description": "The error object." + } + } + }, + "NewErrorResponseError": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "The error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "The error message.", + "readOnly": true + }, + "target": { + "type": "string", + "description": "The error target.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "The error details.", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "readOnly": true, + "x-ms-identifiers": [ + "/error/code" + ] + }, + "additionalInfo": { + "type": "array", + "description": "The error additional info.", + "items": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "OperationResultInfo": { + "type": "object", + "description": "Operation result info.", + "properties": { + "jobList": { + "type": "array", + "description": "List of jobs created by this operation.", + "items": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "type": "object", + "description": "Base class for operation result info.", + "properties": { + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." + } + }, + "discriminator": "objectType", + "required": [ + "objectType" + ] + }, + "OperationResultInfoBaseResource": { + "type": "object", + "description": "Base class for operation result info.", + "properties": { + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationWorkerResponse" + } + ] + }, + "OperationStatus": { + "type": "object", + "description": "Operation status.", + "properties": { + "id": { + "type": "string", + "description": "ID of the operation." + }, + "name": { + "type": "string", + "description": "Name of the operation." + }, + "status": { + "$ref": "#/definitions/OperationStatusValues", + "description": "Operation status." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Operation start time. Format: ISO-8601." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Operation end time. Format: ISO-8601." + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." + } + } + }, + "OperationStatusError": { + "type": "object", + "description": "Error information associated with operation status call.", + "properties": { + "code": { + "type": "string", + "description": "Error code of the operation failure." + }, + "message": { + "type": "string", + "description": "Error message displayed if the operation failure." + } + } + }, + "OperationStatusExtendedInfo": { + "type": "object", + "description": "Base class for additional information of operation status.", + "properties": { + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." + } + }, + "discriminator": "objectType", + "required": [ + "objectType" + ] + }, + "OperationStatusJobExtendedInfo": { + "type": "object", + "description": "Operation status job extended info.", + "properties": { + "jobId": { + "type": "string", + "description": "ID of the job created for this protected item." + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + }, + "OperationStatusJobsExtendedInfo": { + "type": "object", + "description": "Operation status extended info for list of jobs.", + "properties": { + "jobIds": { + "type": "array", + "description": "IDs of the jobs created for the protected item.", + "items": { + "type": "string" + } + }, + "failedJobsError": { + "type": "object", + "description": "Stores all the failed jobs along with the corresponding error codes.", + "additionalProperties": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + }, + "OperationStatusProvisionILRExtendedInfo": { + "type": "object", + "description": "Operation status extended info for ILR provision action.", + "properties": { + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + }, + "OperationStatusValidateOperationExtendedInfo": { + "type": "object", + "description": "Operation status extended info for ValidateOperation action.", + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse", + "description": "Gets the validation operation response" + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo" + }, + "OperationStatusValues": { + "type": "string", + "description": "Operation status.", + "enum": [ + "Invalid", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationStatusValues", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "InProgress", + "value": "InProgress" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled" + } + ] + } + }, + "OperationType": { + "type": "string", + "description": "Re-Do Operation", + "enum": [ + "Invalid", + "Register", + "Reregister", + "Rehydrate" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Register", + "value": "Register" + }, + { + "name": "Reregister", + "value": "Reregister" + }, + { + "name": "Rehydrate", + "value": "Rehydrate" + } + ] + } + }, + "OperationWorkerResponse": { + "type": "object", + "description": "This is the base class for operation result responses.", + "properties": { + "statusCode": { + "$ref": "#/definitions/HttpStatusCode", + "description": "HTTP Status Code of the operation." + }, + "headers": { + "type": "object", + "description": "HTTP headers associated with this operation.", + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + } + } + } + }, + "OverwriteOptions": { + "type": "string", + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "FailOnConflict", + "value": "FailOnConflict" + }, + { + "name": "Overwrite", + "value": "Overwrite" + } + ] + } + }, + "PointInTimeRange": { + "type": "object", + "description": "Provides details for log ranges", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the time range for log recovery." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of the time range for log recovery." + } + } + }, + "PolicyType": { + "type": "string", + "description": "Type of backup policy type", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Full", + "value": "Full" + }, + { + "name": "Differential", + "value": "Differential" + }, + { + "name": "Log", + "value": "Log" + }, + { + "name": "CopyOnlyFull", + "value": "CopyOnlyFull" + }, + { + "name": "Incremental", + "value": "Incremental" + }, + { + "name": "SnapshotFull", + "value": "SnapshotFull" + }, + { + "name": "SnapshotCopyOnlyFull", + "value": "SnapshotCopyOnlyFull" + } + ] + } + }, + "PreBackupValidation": { + "type": "object", + "description": "Pre-backup validation for Azure VM Workload provider.", + "properties": { + "status": { + "$ref": "#/definitions/InquiryStatus", + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed" + }, + "code": { + "type": "string", + "description": "Error code of protectable item" + }, + "message": { + "type": "string", + "description": "Message corresponding to the error code for the protectable item" + } + } + }, + "PreValidateEnableBackupRequest": { + "type": "object", + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\nIt will validate followings\n1. Vault capacity\n2. VM is already protected\n3. Any VM related configuration passed in properties.", + "properties": { + "resourceType": { + "$ref": "#/definitions/DataSourceType", + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc" + }, + "resourceId": { + "type": "string", + "description": "ARM Virtual Machine Id" + }, + "vaultId": { + "type": "string", + "description": "ARM id of the Recovery Services Vault" + }, + "properties": { + "type": "string", + "description": "Configuration of VM if any needs to be validated like OS type etc" + } + } + }, + "PreValidateEnableBackupResponse": { + "type": "object", + "description": "Response contract for enable backup validation request", + "properties": { + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Validation Status" + }, + "errorCode": { + "type": "string", + "description": "Response error code" + }, + "errorMessage": { + "type": "string", + "description": "Response error message" + }, + "recommendation": { + "type": "string", + "description": "Recommended action for user" + }, + "containerName": { + "type": "string", + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\nfor portal" + }, + "protectedItemName": { + "type": "string", + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal" + } + } + }, + "PrepareDataMoveRequest": { + "type": "object", + "description": "Prepare DataMove Request", + "properties": { + "targetResourceId": { + "type": "string", + "description": "ARM Id of target vault" + }, + "targetRegion": { + "type": "string", + "description": "Target Region" + }, + "dataMoveLevel": { + "$ref": "#/definitions/DataMoveLevel", + "description": "DataMove Level" + }, + "sourceContainerArmIds": { + "type": "array", + "description": "Source Container ArmIds\nThis needs to be populated only if DataMoveLevel is set to container", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "type": "boolean", + "description": "Ignore the artifacts which are already moved." + } + }, + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ] + }, + "PrepareDataMoveResponse": { + "type": "object", + "description": "Prepare DataMove Response", + "properties": { + "correlationId": { + "type": "string", + "description": "Co-relationId for move operation" + }, + "sourceVaultProperties": { + "type": "object", + "description": "Source Vault Properties", + "additionalProperties": { + "type": "string" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "PrivateEndpoint": { + "type": "object", + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets id" + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "description": "Private Endpoint Connection Response Properties", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Gets or sets provisioning state of the private endpoint connection" + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Gets or sets private endpoint associated with the private endpoint connection" + }, + "groupIds": { + "type": "array", + "description": "Group Ids for the Private Endpoint", + "items": { + "$ref": "#/definitions/VaultSubResourceType" + } + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Gets or sets private link service connection state" + } + } + }, + "PrivateEndpointConnectionResource": { + "type": "object", + "description": "Private Endpoint Connection Response Properties", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection", + "description": "PrivateEndpointConnectionResource properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "PrivateEndpointConnectionStatus": { + "type": "string", + "description": "Gets or sets the status", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending" + }, + { + "name": "Approved", + "value": "Approved" + }, + { + "name": "Rejected", + "value": "Rejected" + }, + { + "name": "Disconnected", + "value": "Disconnected" + } + ] + } + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "description": "Private Link Service Connection State", + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointConnectionStatus", + "description": "Gets or sets the status" + }, + "description": { + "type": "string", + "description": "Gets or sets description" + }, + "actionsRequired": { + "type": "string", + "description": "Gets or sets actions required" + } + } + }, + "ProtectableContainer": { + "type": "object", + "description": "Protectable Container Class.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the container." + }, + "protectableContainerType": { + "$ref": "#/definitions/ProtectableContainerType", + "description": "Type of the container. The value of this property for\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines" + }, + "healthStatus": { + "type": "string", + "description": "Status of health of the container." + }, + "containerId": { + "type": "string", + "description": "Fabric Id of the container such as ARM Id." + } + }, + "discriminator": "protectableContainerType", + "required": [ + "protectableContainerType" + ] + }, + "ProtectableContainerResource": { + "type": "object", + "description": "Protectable Container Class.", + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ProtectableContainerResourceList": { + "type": "object", + "description": "List of ProtectableContainer resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." + } + } + }, + "ProtectableContainerType": { + "type": "string", + "description": "Type of the container. The value of this property for\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "x-ms-enum": { + "name": "ProtectableContainerType", + "modelAsString": false + } + }, + "ProtectedItem": { + "type": "object", + "description": "Base class for backup items.", + "properties": { + "protectedItemType": { + "type": "string", + "description": "backup item type." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the backed up item.", + "readOnly": true + }, + "workloadType": { + "$ref": "#/definitions/DataSourceType", + "description": "Type of workload this item represents.", + "readOnly": true + }, + "containerName": { + "type": "string", + "description": "Unique name of container" + }, + "sourceResourceId": { + "type": "string", + "description": "ARM ID of the resource to be backed up." + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "lastRecoveryPoint": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item." + }, + "backupSetName": { + "type": "string", + "description": "Name of the backup set the backup item belongs to" + }, + "createMode": { + "$ref": "#/definitions/CreateMode", + "description": "Create mode to indicate recovery of existing soft deleted data source or creation of new data source." + }, + "deferredDeleteTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "Time for deferred deletion in UTC" + }, + "isScheduledForDeferredDelete": { + "type": "boolean", + "description": "Flag to identify whether the DS is scheduled for deferred delete" + }, + "deferredDeleteTimeRemaining": { + "type": "string", + "description": "Time remaining before the DS marked for deferred delete is permanently deleted" + }, + "isDeferredDeleteScheduleUpcoming": { + "type": "boolean", + "description": "Flag to identify whether the deferred deleted DS is to be purged soon" + }, + "isRehydrate": { + "type": "boolean", + "description": "Flag to identify that deferred deleted DS is to be moved into Pause state" + }, + "resourceGuardOperationRequests": { + "type": "array", + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "items": { + "type": "string" + } + }, + "isArchiveEnabled": { + "type": "boolean", + "description": "Flag to identify whether datasource is protected in archive" + }, + "policyName": { + "type": "string", + "description": "Name of the policy used for protection" + }, + "softDeleteRetentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Soft delete retention period in days" + }, + "vaultId": { + "type": "string", + "description": "ID of the vault which protects this item", + "readOnly": true + } + }, + "discriminator": "protectedItemType", + "required": [ + "protectedItemType" + ] + }, + "ProtectedItemHealthStatus": { + "type": "string", + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Healthy", + "value": "Healthy" + }, + { + "name": "Unhealthy", + "value": "Unhealthy" + }, + { + "name": "NotReachable", + "value": "NotReachable" + }, + { + "name": "IRPending", + "value": "IRPending" + } + ] + } + }, + "ProtectedItemQueryObject": { + "type": "object", + "description": "Filters to list backup items.", + "properties": { + "healthState": { + "$ref": "#/definitions/HealthState", + "description": "Health State for the backed up item." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for the backed up item." }, "itemType": { - "description": "Type of workload this item represents", - "enum": [ - "Invalid", - "SQLInstance", - "SQLAvailabilityGroupContainer" - ], + "$ref": "#/definitions/DataSourceType", + "description": "Type of workload this item represents." + }, + "policyName": { + "type": "string", + "description": "Backup policy name associated with the backup item." + }, + "containerName": { + "type": "string", + "description": "Name of the container." + }, + "backupEngineName": { + "type": "string", + "description": "Backup Engine name" + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of protected item" + }, + "fabricName": { + "type": "string", + "description": "Name of the fabric." + }, + "backupSetName": { + "type": "string", + "description": "Name of the backup set." + } + } + }, + "ProtectedItemResource": { + "type": "object", + "description": "Base class for backup items.", + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "ProtectedItemResourceList": { + "type": "object", + "description": "List of ProtectedItem resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." + } + } + }, + "ProtectedItemState": { + "type": "string", + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "IRPending", + "value": "IRPending" + }, + { + "name": "Protected", + "value": "Protected" + }, + { + "name": "ProtectionError", + "value": "ProtectionError" + }, + { + "name": "ProtectionStopped", + "value": "ProtectionStopped" + }, + { + "name": "ProtectionPaused", + "value": "ProtectionPaused" + }, + { + "name": "BackupsSuspended", + "value": "BackupsSuspended" + } + ] + } + }, + "ProtectionContainer": { + "type": "object", + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of the container." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the container." + }, + "registrationStatus": { + "type": "string", + "description": "Status of registration of the container with the Recovery Services Vault." + }, + "healthStatus": { + "type": "string", + "description": "Status of health of the container." + }, + "containerType": { + "$ref": "#/definitions/ProtectableContainerType", + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\nBackup is VMAppContainer" + }, + "protectableObjectType": { + "type": "string", + "description": "Type of the protectable object associated with this container" + } + }, + "discriminator": "containerType", + "required": [ + "containerType" + ] + }, + "ProtectionContainerResource": { + "type": "object", + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainer", + "description": "ProtectionContainerResource properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "ProtectionContainerResourceList": { + "type": "object", + "description": "List of ProtectionContainer resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." + } + } + }, + "ProtectionIntent": { + "type": "object", + "description": "Base class for backup ProtectionIntent.", + "properties": { + "protectionIntentItemType": { + "$ref": "#/definitions/ProtectionIntentItemType", + "description": "backup protectionIntent type." + }, + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Type of backup management for the backed up item." + }, + "sourceResourceId": { "type": "string", - "x-ms-enum": { - "name": "IntentItemType", - "modelAsString": true + "description": "ARM ID of the resource to be backed up." + }, + "itemId": { + "type": "string", + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId" + }, + "policyId": { + "type": "string", + "description": "ID of the backup policy with which this item is backed up." + }, + "protectionState": { + "$ref": "#/definitions/ProtectionStatus", + "description": "Backup state of this backup item." + } + }, + "discriminator": "protectionIntentItemType", + "required": [ + "protectionIntentItemType" + ] + }, + "ProtectionIntentItemType": { + "type": "string", + "description": "backup protectionIntent type.", + "enum": [ + "Invalid", + "AzureResourceItem", + "RecoveryServiceVaultItem", + "AzureWorkloadContainerAutoProtectionIntent", + "AzureWorkloadAutoProtectionIntent", + "AzureWorkloadSQLAutoProtectionIntent" + ], + "x-ms-enum": { + "name": "ProtectionIntentItemType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "AzureResourceItem", + "value": "AzureResourceItem" + }, + { + "name": "RecoveryServiceVaultItem", + "value": "RecoveryServiceVaultItem" + }, + { + "name": "AzureWorkloadContainerAutoProtectionIntent", + "value": "AzureWorkloadContainerAutoProtectionIntent" + }, + { + "name": "AzureWorkloadAutoProtectionIntent", + "value": "AzureWorkloadAutoProtectionIntent" + }, + { + "name": "AzureWorkloadSQLAutoProtectionIntent", + "value": "AzureWorkloadSQLAutoProtectionIntent" } + ] + } + }, + "ProtectionIntentQueryObject": { + "type": "object", + "description": "Filters to list protection intent.", + "properties": { + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for the backed up item" + }, + "itemType": { + "$ref": "#/definitions/IntentItemType", + "description": "Type of workload this item represents" }, "parentName": { - "description": "Parent name of the intent", - "type": "string" + "type": "string", + "description": "Parent name of the intent" }, "itemName": { - "description": "Item name of the intent", - "type": "string" + "type": "string", + "description": "Item name of the intent" } } }, "ProtectionIntentResource": { + "type": "object", "description": "Base class for backup ProtectionIntent.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { "properties": { "$ref": "#/definitions/ProtectionIntent", "description": "ProtectionIntentResource properties" } - } - }, - "ProtectionIntentResourceList": { - "description": "List of ProtectionIntent resources", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/ResourceList" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], + ] + }, + "ProtectionIntentResourceList": { + "type": "object", + "description": "List of ProtectionIntent resources", "properties": { "value": { - "description": "List of resources.", "type": "array", + "description": "List of resources.", "items": { "$ref": "#/definitions/ProtectionIntentResource" } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } } }, - "AzureWorkloadContainer": { - "description": "Container for the workloads running inside Azure Compute or Classic Compute.", + "ProtectionPolicy": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "properties": { - "sourceResourceId": { - "description": "ARM ID of the virtual machine represented by this Azure Workload Container", - "type": "string" - }, - "lastUpdatedTime": { - "format": "date-time", - "description": "Time stamp when this container was updated.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", - "description": "Additional details of a workload container." - }, - "workloadType": { - "description": "Workload type for which registration was sent.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } + "protectedItemsCount": { + "type": "integer", + "format": "int32", + "description": "Number of items associated with this policy." }, - "operationType": { - "description": "Re-Do Operation", - "enum": [ - "Invalid", - "Register", - "Reregister", - "Rehydrate" - ], + "backupManagementType": { "type": "string", - "x-ms-enum": { - "name": "OperationType", - "modelAsString": true + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." + }, + "resourceGuardOperationRequests": { + "type": "array", + "description": "ResourceGuard Operation Requests", + "items": { + "type": "string" } } }, - "x-ms-discriminator-value": "AzureWorkloadContainer" + "discriminator": "backupManagementType", + "required": [ + "backupManagementType" + ] }, - "AzureWorkloadContainerExtendedInfo": { - "description": "Extended information of the container.", + "ProtectionPolicyQueryObject": { "type": "object", + "description": "Filters the list backup policies API.", "properties": { - "hostServerName": { - "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", - "type": "string" + "backupManagementType": { + "$ref": "#/definitions/BackupManagementType", + "description": "Backup management type for the backup policy." }, - "inquiryInfo": { - "$ref": "#/definitions/InquiryInfo", - "description": "Inquiry Status for the container." + "fabricName": { + "type": "string", + "description": "Fabric name for filter" }, - "nodesList": { - "description": "List of the nodes in case of distributed container.", - "type": "array", - "items": { - "$ref": "#/definitions/DistributedNodesInfo" - }, - "x-ms-identifiers": [] + "workloadType": { + "$ref": "#/definitions/WorkloadType", + "description": "Workload type for the backup policy." } } }, - "BackupEngineBase": { - "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "ProtectionPolicyResource": { "type": "object", - "required": [ - "backupEngineType" - ], + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "properties": { - "friendlyName": { - "description": "Friendly name of the backup engine.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the backup engine.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "registrationStatus": { - "description": "Registration status of the backup engine with the Recovery Services Vault.", - "type": "string" - }, - "backupEngineState": { - "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", - "type": "string" - }, - "healthStatus": { - "description": "Backup status of the backup engine.", - "type": "string" - }, - "backupEngineType": { - "description": "Type of the backup engine.", - "enum": [ - "Invalid", - "DpmBackupEngine", - "AzureBackupServerEngine" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupEngineType", - "modelAsString": true - } - }, - "canReRegister": { - "description": "Flag indicating if the backup engine be registered, once already registered.", - "type": "boolean" - }, - "backupEngineId": { - "description": "ID of the backup engine.", - "type": "string" - }, - "dpmVersion": { - "description": "Backup engine version", - "type": "string" - }, - "azureBackupAgentVersion": { - "description": "Backup agent version", - "type": "string" - }, - "isAzureBackupAgentUpgradeAvailable": { - "description": "To check if backup agent upgrade available", - "type": "boolean" - }, - "isDpmUpgradeAvailable": { - "description": "To check if backup engine upgrade available", - "type": "boolean" - }, - "extendedInfo": { - "$ref": "#/definitions/BackupEngineExtendedInfo", - "description": "Extended info of the backupengine" + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" } }, - "discriminator": "backupEngineType" - }, - "BackupEngineBaseResource": { - "description": "The base backup engine class. All workload specific backup engines derive from this class.", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], + ] + }, + "ProtectionPolicyResourceList": { + "type": "object", + "description": "List of ProtectionPolicy resources", "properties": { - "properties": { - "$ref": "#/definitions/BackupEngineBase", - "description": "BackupEngineBaseResource properties" + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } } }, - "BackupEngineBaseResourceList": { - "description": "List of BackupEngineBase resources", + "ProtectionState": { + "type": "string", + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused", + "BackupsSuspended" + ], + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "IRPending", + "value": "IRPending" + }, + { + "name": "Protected", + "value": "Protected" + }, + { + "name": "ProtectionError", + "value": "ProtectionError" + }, + { + "name": "ProtectionStopped", + "value": "ProtectionStopped" + }, + { + "name": "ProtectionPaused", + "value": "ProtectionPaused" + }, + { + "name": "BackupsSuspended", + "value": "BackupsSuspended" + } + ] + } + }, + "ProtectionStatus": { + "type": "string", + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "NotProtected", + "value": "NotProtected" + }, + { + "name": "Protecting", + "value": "Protecting" + }, + { + "name": "Protected", + "value": "Protected" + }, + { + "name": "ProtectionFailed", + "value": "ProtectionFailed" + } + ] + } + }, + "ProvisioningState": { + "type": "string", + "description": "Gets or sets provisioning state of the private endpoint connection", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "Pending", + "value": "Pending" + } + ] + } + }, + "RecoveryMode": { + "type": "string", + "description": "Defines whether the current recovery mode is file restore or database restore", + "enum": [ + "Invalid", + "FileRecovery", + "WorkloadRecovery", + "SnapshotAttach", + "RecoveryUsingSnapshot", + "SnapshotAttachAndRecover" + ], + "x-ms-enum": { + "name": "RecoveryMode", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "FileRecovery", + "value": "FileRecovery" + }, + { + "name": "WorkloadRecovery", + "value": "WorkloadRecovery" + }, + { + "name": "SnapshotAttach", + "value": "SnapshotAttach" + }, + { + "name": "RecoveryUsingSnapshot", + "value": "RecoveryUsingSnapshot" + }, + { + "name": "SnapshotAttachAndRecover", + "value": "SnapshotAttachAndRecover" + } + ] + } + }, + "RecoveryPoint": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupEngineBaseResource" - } + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } - } + }, + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "BackupEngineExtendedInfo": { - "description": "Additional information on backup engine.", + "RecoveryPointDiskConfiguration": { "type": "object", + "description": "Disk configuration", "properties": { - "databaseName": { - "description": "Database name of backup engine.", - "type": "string" - }, - "protectedItemsCount": { - "format": "int32", - "description": "Number of protected items in the backup engine.", - "type": "integer" - }, - "protectedServersCount": { + "numberOfDisksIncludedInBackup": { + "type": "integer", "format": "int32", - "description": "Number of protected servers in the backup engine.", - "type": "integer" + "description": "Number of disks included in backup" }, - "diskCount": { + "numberOfDisksAttachedToVm": { + "type": "integer", "format": "int32", - "description": "Number of disks in the backup engine.", - "type": "integer" - }, - "usedDiskSpace": { - "format": "double", - "description": "Disk space used in the backup engine.", - "type": "number" + "description": "Number of disks attached to the VM" }, - "availableDiskSpace": { - "format": "double", - "description": "Disk space currently available in the backup engine.", - "type": "number" - }, - "refreshedAt": { - "format": "date-time", - "description": "Last refresh time in the backup engine.", - "type": "string" + "includedDiskList": { + "type": "array", + "description": "Information of disks included in backup", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] }, - "azureProtectedInstances": { - "format": "int32", - "description": "Protected instances in the backup engine.", - "type": "integer" + "excludedDiskList": { + "type": "array", + "description": "Information of disks excluded from backup", + "items": { + "$ref": "#/definitions/DiskInformation" + }, + "x-ms-identifiers": [] } } }, - "BackupRequest": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "required": [ - "objectType" - ], + "RecoveryPointMoveReadinessInfo": { "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "isReadyForMove": { + "type": "boolean" + }, + "additionalInfo": { "type": "string" } - }, - "discriminator": "objectType" + } }, - "BackupRequestResource": { - "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "RecoveryPointProperties": { + "type": "object", + "description": "Properties of Recovery Point", "properties": { - "properties": { - "$ref": "#/definitions/BackupRequest", - "description": "BackupRequestResource properties" + "expiryTime": { + "type": "string", + "description": "Expiry time of Recovery Point in UTC." + }, + "ruleName": { + "type": "string", + "description": "Rule name tagged on Recovery Point that governs life cycle" + }, + "isSoftDeleted": { + "type": "boolean", + "description": "Bool to indicate whether RP is in soft delete state or not" } } }, - "BMSBackupEngineQueryObject": { - "description": "Query parameters to fetch list of backup engines.", + "RecoveryPointRehydrationInfo": { "type": "object", + "description": "RP Rehydration Info", "properties": { - "expand": { - "description": "attribute to add extended info", - "type": "string" + "rehydrationRetentionDuration": { + "type": "string", + "description": "How long the rehydrated RP should be kept\nShould be ISO8601 Duration format e.g. \"P7D\"" + }, + "rehydrationPriority": { + "$ref": "#/definitions/RehydrationPriority", + "description": "Rehydration Priority" } } }, - "BMSBackupEnginesQueryObject": { - "description": "Query parameters to fetch list of backup engines.", + "RecoveryPointResource": { "type": "object", + "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", "properties": { - "backupManagementType": { - "description": "Backup management type for the backup engine.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "properties": { + "$ref": "#/definitions/RecoveryPoint", + "description": "RecoveryPointResource properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "RecoveryPointResourceList": { + "type": "object", + "description": "List of RecoveryPoint resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/RecoveryPointResource" } }, - "friendlyName": { - "description": "Friendly name of the backup engine.", - "type": "string" - }, - "expand": { - "description": "Attribute to add extended info.", - "type": "string" + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } } }, - "BMSContainerQueryObject": { - "description": "The query filters that can be used with the list containers API.", - "required": [ - "backupManagementType" - ], + "RecoveryPointTierInformation": { "type": "object", + "description": "Recovery point tier information.", "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "containerType": { - "description": "Type of container for filter", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer", - "HanaHSRContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "ContainerType", - "modelAsString": true - } - }, - "backupEngineName": { - "description": "Backup engine name", - "type": "string" - }, - "fabricName": { - "description": "Fabric name for filter", - "type": "string" + "type": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "Recovery point tier type." }, "status": { - "description": "Status of registration of this container with the Recovery Services Vault.", - "type": "string" + "$ref": "#/definitions/RecoveryPointTierStatus", + "description": "Recovery point tier status." }, - "friendlyName": { - "description": "Friendly name of this container.", - "type": "string" + "extendedInfo": { + "type": "object", + "description": "Recovery point tier status.", + "additionalProperties": { + "type": "string" + } } } }, - "BMSContainersInquiryQueryObject": { - "description": "The query filters that can be used with the inquire container API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type for this container.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - } - } - }, - "BMSPOQueryObject": { - "description": "Filters to list items that can be backed up.", + "RecoveryPointTierInformationV2": { "type": "object", + "description": "RecoveryPoint Tier Information V2", "properties": { - "backupManagementType": { - "description": "Backup management type.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureSql", - "AzureBackupServer", - "AzureWorkload", - "AzureStorage", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "containerName": { - "description": "Full name of the container whose Protectable Objects should be returned.", - "type": "string" + "type": { + "$ref": "#/definitions/RecoveryPointTierType", + "description": "Recovery point tier type." }, "status": { - "description": "Backup status query parameter.", - "type": "string" - }, - "friendlyName": { - "description": "Friendly name.", - "type": "string" + "$ref": "#/definitions/RecoveryPointTierStatus", + "description": "Recovery point tier status." } + }, + "allOf": [ + { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + ] + }, + "RecoveryPointTierStatus": { + "type": "string", + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": true } }, - "BMSRefreshContainersQueryObject": { - "description": "The query filters that can be used with the refresh container API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true + "RecoveryPointTierType": { + "type": "string", + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": true + } + }, + "RecoveryType": { + "type": "string", + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks", + "Offline" + ], + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "OriginalLocation", + "value": "OriginalLocation" + }, + { + "name": "AlternateLocation", + "value": "AlternateLocation" + }, + { + "name": "RestoreDisks", + "value": "RestoreDisks" + }, + { + "name": "Offline", + "value": "Offline" } - } + ] } }, - "BMSWorkloadItemQueryObject": { - "description": "Filters to list items that can be backed up.", + "RehydrationPriority": { + "type": "string", + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true, + "values": [ + { + "name": "Standard", + "value": "Standard" + }, + { + "name": "High", + "value": "High" + } + ] + } + }, + "Resource": { "type": "object", + "description": "ARM Resource.", "properties": { - "backupManagementType": { - "description": "Backup management type.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureSql", - "AzureBackupServer", - "AzureWorkload", - "AzureStorage", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } + "id": { + "type": "string", + "description": "Resource Id represents the complete path to the resource.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Resource name associated with the resource.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "readOnly": true }, - "workloadItemType": { - "description": "Workload Item type", - "enum": [ - "Invalid", - "SQLInstance", - "SQLDataBase", - "SAPHanaSystem", - "SAPHanaDatabase", - "SAPAseSystem", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadItemType", - "modelAsString": true - } + "location": { + "type": "string", + "description": "Resource location." }, - "workloadType": { - "description": "Workload type", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" } }, - "protectionStatus": { - "description": "Backup status query parameter.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], + "eTag": { "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } + "description": "Optional ETag." } } }, - "ClientScriptForConnect": { - "description": "Client script details for file / folder restore.", + "ResourceGuardOperationDetail": { "type": "object", "properties": { - "scriptContent": { - "description": "File content of the client script for file / folder restore.", - "type": "string" - }, - "scriptExtension": { - "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", - "type": "string" - }, - "osType": { - "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", - "type": "string" - }, - "url": { - "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "vaultCriticalOperation": { "type": "string" }, - "scriptNameSuffix": { - "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "defaultResourceRequest": { "type": "string" } } }, - "ContainerIdentityInfo": { - "description": "Container identity information", + "ResourceGuardProxyBase": { "type": "object", "properties": { - "uniqueName": { - "description": "Unique name of the container", + "resourceGuardResourceId": { "type": "string" }, - "aadTenantId": { - "description": "Protection container identity - AAD Tenant", - "type": "string" + "resourceGuardOperationDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + }, + "x-ms-identifiers": [] }, - "servicePrincipalClientId": { - "description": "Protection container identity - AAD Service Principal", + "lastUpdatedTime": { "type": "string" }, - "audience": { - "description": "Protection container identity - Audience", + "description": { "type": "string" } - } + }, + "required": [ + "resourceGuardResourceId" + ] }, - "DistributedNodesInfo": { - "description": "This is used to represent the various nodes of the distributed container.", + "ResourceGuardProxyBaseResource": { "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { - "nodeName": { - "description": "Name of the node under a distributed container.", - "type": "string" - }, - "status": { - "description": "Status of this Node.\r\nFailed | Succeeded", - "type": "string" - }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Details if the Status is non-success." - }, - "sourceResourceId": { - "description": "ARM resource id of the node", - "type": "string" + "properties": { + "$ref": "#/definitions/ResourceGuardProxyBase", + "description": "ResourceGuardProxyBaseResource properties" } - } - }, - "DpmBackupEngine": { - "description": "Data Protection Manager (DPM) specific backup engine.", - "type": "object", + }, "allOf": [ { - "$ref": "#/definitions/BackupEngineBase" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } - ], - "x-ms-discriminator-value": "DpmBackupEngine" + ] }, - "DpmContainer": { - "description": "DPM workload-specific protection container.", + "ResourceGuardProxyBaseResourceList": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], + "description": "List of ResourceGuardProxyBase resources", "properties": { - "canReRegister": { - "description": "Specifies whether the container is re-registrable.", - "type": "boolean" - }, - "containerId": { - "description": "ID of container.", - "type": "string" - }, - "protectedItemCount": { - "format": "int64", - "description": "Number of protected items in the BackupEngine", - "type": "integer" - }, - "dpmAgentVersion": { - "description": "Backup engine Agent version", - "type": "string" - }, - "dpmServers": { - "description": "List of BackupEngines protecting the container", + "value": { "type": "array", + "description": "List of resources.", "items": { - "type": "string" + "$ref": "#/definitions/ResourceGuardProxyBaseResource" } }, - "upgradeAvailable": { - "description": "To check if upgrade available", - "type": "boolean" - }, - "protectionStatus": { - "description": "Protection status of the container.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/DPMContainerExtendedInfo", - "description": "Extended Info of the container." + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - }, - "x-ms-discriminator-value": "DPMContainer" + } }, - "DPMContainerExtendedInfo": { - "description": "Additional information of the DPMContainer.", + "ResourceHealthDetails": { "type": "object", + "description": "Health Details for backup items.", "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Last refresh time of the DPMContainer.", - "type": "string" + "code": { + "type": "integer", + "format": "int32", + "description": "Health Code", + "readOnly": true + }, + "title": { + "type": "string", + "description": "Health Title", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Health Message", + "readOnly": true + }, + "recommendations": { + "type": "array", + "description": "Health Recommended Actions", + "items": { + "type": "string" + }, + "readOnly": true } } }, - "GenericContainer": { - "description": "Base class for generic container of backup items", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } + "ResourceHealthStatus": { + "type": "string", + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" ], + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true, + "values": [ + { + "name": "Healthy", + "value": "Healthy" + }, + { + "name": "TransientDegraded", + "value": "TransientDegraded" + }, + { + "name": "PersistentDegraded", + "value": "PersistentDegraded" + }, + { + "name": "TransientUnhealthy", + "value": "TransientUnhealthy" + }, + { + "name": "PersistentUnhealthy", + "value": "PersistentUnhealthy" + }, + { + "name": "Invalid", + "value": "Invalid" + } + ] + } + }, + "ResourceList": { + "type": "object", + "description": "Base for all lists of resources.", "properties": { - "fabricName": { - "description": "Name of the container's fabric", - "type": "string" - }, - "extendedInformation": { - "$ref": "#/definitions/GenericContainerExtendedInfo", - "description": "Extended information (not returned in List container API calls)" + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - }, - "x-ms-discriminator-value": "GenericContainer" + } }, - "GenericContainerExtendedInfo": { - "description": "Container extended information", + "RestoreFileSpecs": { "type": "object", + "description": "Restore file specs like file path, type and target folder path info.", "properties": { - "rawCertData": { - "description": "Public key of container cert", - "type": "string" + "path": { + "type": "string", + "description": "Source File/Folder path" }, - "containerIdentityInfo": { - "$ref": "#/definitions/ContainerIdentityInfo", - "description": "Container identity information" + "fileSpecType": { + "type": "string", + "description": "Indicates what the Path variable stands for" }, - "serviceEndpoints": { - "description": "Azure Backup Service Endpoints for the container", - "type": "object", - "additionalProperties": { - "type": "string" - } + "targetFolderPath": { + "type": "string", + "description": "Destination folder path in target FileShare" } } }, - "IaasVMBackupRequest": { - "description": "IaaS VM workload-specific backup request.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/BackupRequest" - } + "RestorePointQueryType": { + "type": "string", + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" ], - "properties": { - "recoveryPointExpiryTimeInUTC": { - "format": "date-time", - "description": "Backup copy will expire after the time specified (UTC).", - "type": "string" - } - }, - "x-ms-discriminator-value": "IaasVMBackupRequest" + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Full", + "value": "Full" + }, + { + "name": "Log", + "value": "Log" + }, + { + "name": "Differential", + "value": "Differential" + }, + { + "name": "FullAndDifferential", + "value": "FullAndDifferential" + }, + { + "name": "All", + "value": "All" + }, + { + "name": "Incremental", + "value": "Incremental" + }, + { + "name": "SnapshotFull", + "value": "SnapshotFull" + }, + { + "name": "SnapshotCopyOnlyFull", + "value": "SnapshotCopyOnlyFull" + } + ] + } + }, + "RestorePointType": { + "type": "string", + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental", + "SnapshotFull", + "SnapshotCopyOnlyFull" + ], + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Full", + "value": "Full" + }, + { + "name": "Log", + "value": "Log" + }, + { + "name": "Differential", + "value": "Differential" + }, + { + "name": "Incremental", + "value": "Incremental" + }, + { + "name": "SnapshotFull", + "value": "SnapshotFull" + }, + { + "name": "SnapshotCopyOnlyFull", + "value": "SnapshotCopyOnlyFull" + } + ] + } }, - "IaaSVMContainer": { - "description": "IaaS VM workload-specific container.", + "RestoreRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "properties": { - "virtualMachineId": { - "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", - "type": "string" - }, - "virtualMachineVersion": { - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", - "type": "string" + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" + "resourceGuardOperationRequests": { + "type": "array", + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "items": { + "type": "string" + } } }, - "x-ms-discriminator-value": "IaasVMContainer" + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "IaasVMILRRegistrationRequest": { - "description": "Restore files/folders from a backup copy of IaaS VM.", + "RestoreRequestResource": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ILRRequest" - } - ], + "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "properties": { - "recoveryPointId": { - "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", - "type": "string" - }, - "initiatorName": { - "description": "iSCSI initiator name.", - "type": "string" - }, - "renewExistingRegistration": { - "description": "Whether to renew existing registration with the iSCSI server.", - "type": "boolean" + "properties": { + "$ref": "#/definitions/RestoreRequest", + "description": "RestoreRequestResource properties" } }, - "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" - }, - "IaaSVMProtectableItem": { - "description": "IaaS VM workload-specific backup item.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/Resource" } + ] + }, + "RestoreRequestType": { + "type": "string", + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" ], + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "FullShareRestore", + "value": "FullShareRestore" + }, + { + "name": "ItemLevelRestore", + "value": "ItemLevelRestore" + } + ] + } + }, + "RetentionDuration": { + "type": "object", + "description": "Retention duration.", "properties": { - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine.", - "type": "string" - }, - "virtualMachineVersion": { - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", - "type": "string" + "count": { + "type": "integer", + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks." }, - "resourceGroup": { - "description": "Resource group name of Recovery Services Vault.", - "type": "string" + "durationType": { + "$ref": "#/definitions/RetentionDurationType", + "description": "Retention duration type of retention policy." } - }, - "x-ms-discriminator-value": "IaaSVMProtectableItem" + } }, - "ILRRequest": { - "description": "Parameters to Provision ILR API.", - "required": [ - "objectType" + "RetentionDurationType": { + "type": "string", + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" ], + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Days", + "value": "Days" + }, + { + "name": "Weeks", + "value": "Weeks" + }, + { + "name": "Months", + "value": "Months" + }, + { + "name": "Years", + "value": "Years" + } + ] + } + }, + "RetentionPolicy": { "type": "object", + "description": "Base class for retention policy.", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "retentionPolicyType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } }, - "discriminator": "objectType" + "discriminator": "retentionPolicyType", + "required": [ + "retentionPolicyType" + ] }, - "ILRRequestResource": { - "description": "Parameters to Provision ILR API.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "RetentionScheduleFormat": { + "type": "string", + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" ], - "properties": { - "properties": { - "$ref": "#/definitions/ILRRequest", - "description": "ILRRequestResource properties" - } + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Daily", + "value": "Daily" + }, + { + "name": "Weekly", + "value": "Weekly" + } + ] } }, - "InquiryInfo": { - "description": "Details about inquired protectable items under a given container.", + "SQLDataDirectory": { "type": "object", + "description": "SQLDataDirectory info", "properties": { - "status": { - "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", - "type": "string" + "type": { + "$ref": "#/definitions/SQLDataDirectoryType", + "description": "Type of data directory mapping" }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Details if the Status is non-success." + "path": { + "type": "string", + "description": "File path" }, - "inquiryDetails": { - "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", - "type": "array", - "items": { - "$ref": "#/definitions/WorkloadInquiryDetails" - }, - "x-ms-identifiers": [] + "logicalName": { + "type": "string", + "description": "Logical name of the file" } } }, - "InquiryValidation": { - "description": "Validation for inquired protectable items under a given container.", + "SQLDataDirectoryMapping": { "type": "object", + "description": "Encapsulates information regarding data directory", "properties": { - "status": { - "description": "Status for the Inquiry Validation.", - "type": "string" + "mappingType": { + "$ref": "#/definitions/SQLDataDirectoryType", + "description": "Type of data directory mapping" }, - "errorDetail": { - "$ref": "#/definitions/ErrorDetail", - "description": "Error Detail in case the status is non-success." + "sourceLogicalName": { + "type": "string", + "description": "Restore source logical name path" }, - "additionalDetail": { - "description": "Error Additional Detail in case the status is non-success.", + "sourcePath": { "type": "string", - "readOnly": true + "description": "Restore source path" }, - "protectableItemCount": { - "description": "Dictionary to store the count of ProtectableItems with key POType.", - "type": "object", - "readOnly": true + "targetPath": { + "type": "string", + "description": "Target path" } } }, - "InstantItemRecoveryTarget": { - "description": "Target details for file / folder restore.", - "type": "object", - "properties": { - "clientScripts": { - "description": "List of client scripts.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientScriptForConnect" + "SQLDataDirectoryType": { + "type": "string", + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" }, - "x-ms-identifiers": [] - } + { + "name": "Data", + "value": "Data" + }, + { + "name": "Log", + "value": "Log" + } + ] } }, - "MabContainer": { - "description": "Container with items backed up using MAB backup engine.", + "SchedulePolicy": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProtectionContainer" - } - ], + "description": "Base class for backup schedule.", "properties": { - "canReRegister": { - "description": "Can the container be registered one more time.", - "type": "boolean" - }, - "containerId": { - "format": "int64", - "description": "ContainerID represents the container.", - "type": "integer" - }, - "protectedItemCount": { - "format": "int64", - "description": "Number of items backed up in this container.", - "type": "integer" - }, - "agentVersion": { - "description": "Agent version of this container.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/MabContainerExtendedInfo", - "description": "Additional information for this container" - }, - "mabContainerHealthDetails": { - "description": "Health details on this mab container.", - "type": "array", - "items": { - "$ref": "#/definitions/MABContainerHealthDetails" - }, - "x-ms-identifiers": [ - "code" - ] - }, - "containerHealthState": { - "description": "Health state of mab container.", - "type": "string" + "schedulePolicyType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } }, - "x-ms-discriminator-value": "Windows" + "discriminator": "schedulePolicyType", + "required": [ + "schedulePolicyType" + ] }, - "MabContainerExtendedInfo": { - "description": "Additional information of the container.", - "type": "object", - "properties": { - "lastRefreshedAt": { - "format": "date-time", - "description": "Time stamp when this container was refreshed.", - "type": "string" - }, - "backupItemType": { - "description": "Type of backup items associated with this container.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource", - "SQLDataBase", - "AzureFileShare", - "SAPHanaDatabase", - "SAPAseDatabase", - "SAPHanaDBInstance" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupItemType", - "modelAsString": true - } - }, - "backupItems": { - "description": "List of backup items associated with this container.", - "type": "array", - "items": { - "type": "string" + "ScheduleRunType": { + "type": "string", + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Daily", + "value": "Daily" + }, + { + "name": "Weekly", + "value": "Weekly" + }, + { + "name": "Hourly", + "value": "Hourly" } - }, - "policyName": { - "description": "Backup policy associated with this container.", - "type": "string" - }, - "lastBackupStatus": { - "description": "Latest backup status of this container.", - "type": "string" + ] + } + }, + "SecuredVMDetails": { + "type": "object", + "description": "Restore request parameters for Secured VMs", + "properties": { + "securedVMOsDiskEncryptionSetId": { + "type": "string", + "description": "Gets or Sets Disk Encryption Set Id for Secured VM OS Disk" } } }, - "MABContainerHealthDetails": { - "description": "MAB workload-specific Health Details.", + "SecurityPinBase": { "type": "object", + "description": "Base class for get security pin request body", "properties": { - "code": { - "format": "int32", - "description": "Health Code", - "type": "integer" - }, - "title": { - "description": "Health Title", - "type": "string" - }, - "message": { - "description": "Health Message", - "type": "string" - }, - "recommendations": { - "description": "Health Recommended Actions", + "resourceGuardOperationRequests": { "type": "array", + "description": "ResourceGuard Operation Requests", "items": { "type": "string" } } } }, - "OperationStatus": { - "description": "Operation status.", + "Settings": { "type": "object", + "description": "Common settings field for backup management", "properties": { - "id": { - "description": "ID of the operation.", - "type": "string" - }, - "name": { - "description": "Name of the operation.", - "type": "string" - }, - "status": { - "description": "Operation status.", - "enum": [ - "Invalid", - "InProgress", - "Succeeded", - "Failed", - "Canceled" - ], + "timeZone": { "type": "string", - "x-ms-enum": { - "name": "OperationStatusValues", - "modelAsString": true - } - }, - "startTime": { - "format": "date-time", - "description": "Operation start time. Format: ISO-8601.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Operation end time. Format: ISO-8601.", - "type": "string" - }, - "error": { - "$ref": "#/definitions/OperationStatusError", - "description": "Error information related to this operation." + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\"." }, - "properties": { - "$ref": "#/definitions/OperationStatusExtendedInfo", - "description": "Additional information associated with this operation." - } - } - }, - "OperationStatusError": { - "description": "Error information associated with operation status call.", - "type": "object", - "properties": { - "code": { - "description": "Error code of the operation failure.", - "type": "string" + "issqlcompression": { + "type": "boolean", + "description": "SQL compression flag" }, - "message": { - "description": "Error message displayed if the operation failure.", - "type": "string" + "isCompression": { + "type": "boolean", + "description": "Workload compression flag. This has been added so that 'isSqlCompression'\nwill be deprecated once clients upgrade to consider this flag." } } }, - "OperationStatusExtendedInfo": { - "description": "Base class for additional information of operation status.", - "required": [ - "objectType" - ], + "SimpleRetentionPolicy": { "type": "object", + "description": "Simple policy retention.", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." } }, - "discriminator": "objectType" - }, - "OperationStatusJobExtendedInfo": { - "description": "Operation status job extended info.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationStatusExtendedInfo" + "$ref": "#/definitions/RetentionPolicy" } ], - "properties": { - "jobId": { - "description": "ID of the job created for this protected item.", - "type": "string" - } - }, - "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + "x-ms-discriminator-value": "SimpleRetentionPolicy" }, - "OperationStatusJobsExtendedInfo": { - "description": "Operation status extended info for list of jobs.", + "SimpleSchedulePolicy": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationStatusExtendedInfo" - } - ], + "description": "Simple policy schedule.", "properties": { - "jobIds": { - "description": "IDs of the jobs created for the protected item.", + "scheduleRunFrequency": { + "$ref": "#/definitions/ScheduleRunType", + "description": "Frequency of the schedule operation of this policy." + }, + "scheduleRunDays": { "type": "array", + "description": "List of days of week this schedule has to be run.", "items": { - "type": "string" + "$ref": "#/definitions/DayOfWeek" } }, - "failedJobsError": { - "description": "Stores all the failed jobs along with the corresponding error codes.", - "type": "object", - "additionalProperties": { - "type": "string" + "scheduleRunTimes": { + "type": "array", + "description": "List of times of day this schedule has to be run.", + "items": { + "type": "string", + "format": "date-time" } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "Hourly Schedule of this Policy" + }, + "scheduleWeeklyFrequency": { + "type": "integer", + "format": "int32", + "description": "At every number weeks this schedule has to be run." } }, - "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" - }, - "OperationStatusProvisionILRExtendedInfo": { - "description": "Operation status extended info for ILR provision action.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationStatusExtendedInfo" + "$ref": "#/definitions/SchedulePolicy" } ], + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SimpleSchedulePolicyV2": { + "type": "object", + "description": "The V2 policy schedule for IaaS that supports hourly backups.", "properties": { - "recoveryTarget": { - "$ref": "#/definitions/InstantItemRecoveryTarget", - "description": "Target details for file / folder restore." + "scheduleRunFrequency": { + "$ref": "#/definitions/ScheduleRunType", + "description": "Frequency of the schedule operation of this policy." + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "hourly schedule of this policy" + }, + "dailySchedule": { + "$ref": "#/definitions/DailySchedule", + "description": "Daily schedule of this policy" + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklySchedule", + "description": "Weekly schedule of this policy" } }, - "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" - }, - "OperationStatusValidateOperationExtendedInfo": { - "description": "Operation status extended info for ValidateOperation action.", - "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationStatusExtendedInfo" + "$ref": "#/definitions/SchedulePolicy" } ], - "properties": { - "validateOperationResponse": { - "$ref": "#/definitions/ValidateOperationResponse", - "description": "Gets the validation operation response" - } - }, - "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo" + "x-ms-discriminator-value": "SimpleSchedulePolicyV2" }, - "PreBackupValidation": { - "description": "Pre-backup validation for Azure VM Workload provider.", + "SnapshotBackupAdditionalDetails": { "type": "object", + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem", "properties": { - "status": { - "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", - "enum": [ - "Invalid", - "Success", - "Failed" - ], - "type": "string", - "x-ms-enum": { - "name": "InquiryStatus", - "modelAsString": true - } + "instantRpRetentionRangeInDays": { + "type": "integer", + "format": "int32" }, - "code": { - "description": "Error code of protectable item", + "instantRPDetails": { "type": "string" }, - "message": { - "description": "Message corresponding to the error code for the protectable item", - "type": "string" + "userAssignedManagedIdentityDetails": { + "$ref": "#/definitions/UserAssignedManagedIdentityDetails", + "description": "User assigned managed identity details" } } }, - "ProtectableContainer": { - "description": "Protectable Container Class.", + "SnapshotRestoreParameters": { "type": "object", - "required": [ - "protectableContainerType" - ], + "description": "Encapsulates information regarding snapshot recovery for SAP Hana", "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "protectableContainerType": { - "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer", - "Microsoft.ClassicCompute/virtualMachines", - "Microsoft.Compute/virtualMachines", - "AzureWorkloadContainer" - ], - "type": "string", - "readOnly": false, - "x-ms-enum": { - "name": "protectableContainerType", - "modelAsString": false - } - }, - "healthStatus": { - "description": "Status of health of the container.", - "type": "string" + "skipAttachAndMount": { + "type": "boolean" }, - "containerId": { - "description": "Fabric Id of the container such as ARM Id.", + "logPointInTimeForDBRecovery": { "type": "string" } - }, - "discriminator": "protectableContainerType" + } }, - "ProtectableContainerResource": { - "description": "Protectable Container Class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "SoftDeleteFeatureState": { + "type": "string", + "description": "Soft Delete feature state", + "enum": [ + "Invalid", + "Enabled", + "Disabled", + "AlwaysON" ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectableContainer", - "description": "ProtectableContainerResource properties" - } + "x-ms-enum": { + "name": "SoftDeleteFeatureState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + }, + { + "name": "AlwaysON", + "value": "AlwaysON" + } + ] + } + }, + "StorageType": { + "type": "string", + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "GeoRedundant", + "value": "GeoRedundant" + }, + { + "name": "LocallyRedundant", + "value": "LocallyRedundant" + }, + { + "name": "ZoneRedundant", + "value": "ZoneRedundant" + }, + { + "name": "ReadAccessGeoZoneRedundant", + "value": "ReadAccessGeoZoneRedundant" + } + ] } }, - "ProtectableContainerResourceList": { - "description": "List of ProtectableContainer resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } + "StorageTypeState": { + "type": "string", + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked.", + "enum": [ + "Invalid", + "Locked", + "Unlocked" ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectableContainerResource" + "x-ms-enum": { + "name": "StorageTypeState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Locked", + "value": "Locked" + }, + { + "name": "Unlocked", + "value": "Unlocked" } - } + ] } }, - "ProtectionContainer": { - "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "SubProtectionPolicy": { "type": "object", - "required": [ - "containerType" - ], + "description": "Sub-protection policy which includes schedule and retention", "properties": { - "friendlyName": { - "description": "Friendly name of the container.", - "type": "string" - }, - "backupManagementType": { - "description": "Type of backup management for the container.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql", - "AzureStorage", - "AzureWorkload", - "DefaultBackup" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } + "policyType": { + "$ref": "#/definitions/PolicyType", + "description": "Type of backup policy type" }, - "registrationStatus": { - "description": "Status of registration of the container with the Recovery Services Vault.", - "type": "string" + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." }, - "healthStatus": { - "description": "Status of health of the container.", - "type": "string" + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." }, - "containerType": { - "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter", - "VMAppContainer", - "SQLAGWorkLoadContainer", - "StorageContainer", - "GenericContainer", - "Microsoft.ClassicCompute/virtualMachines", - "Microsoft.Compute/virtualMachines", - "AzureWorkloadContainer" - ], - "type": "string", - "x-ms-enum": { - "name": "protectableContainerType", - "modelAsString": true + "tieringPolicy": { + "type": "object", + "description": "Tiering policy to automatically move RPs to another tier.\nKey is Target Tier, defined in RecoveryPointTierType enum.\nTiering policy specifies the criteria to move RP to the target tier.", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" } }, - "protectableObjectType": { - "description": "Type of the protectable object associated with this container", - "type": "string" + "snapshotBackupAdditionalDetails": { + "$ref": "#/definitions/SnapshotBackupAdditionalDetails", + "description": "Snapshot Backup related fields for WorkloadType SaPHanaSystem" } - }, - "discriminator": "containerType" + } }, - "ProtectionContainerResource": { - "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "SupportStatus": { + "type": "string", + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainer", - "description": "ProtectionContainerResource properties" - } + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Supported", + "value": "Supported" + }, + { + "name": "DefaultOFF", + "value": "DefaultOFF" + }, + { + "name": "DefaultON", + "value": "DefaultON" + }, + { + "name": "NotSupported", + "value": "NotSupported" + } + ] } }, - "ProtectionContainerResourceList": { - "description": "List of ProtectionContainer resources", + "TargetAFSRestoreInfo": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "Target Azure File Share Info.", "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainerResource" - } + "name": { + "type": "string", + "description": "File share name" + }, + "targetResourceId": { + "type": "string", + "description": "Target file share resource ARM ID" } } }, - "SecurityPinBase": { - "description": "Base class for get security pin request body", + "TargetDiskNetworkAccessOption": { + "type": "string", + "description": "Network access settings to be used for restored disks", + "enum": [ + "SameAsOnSourceDisks", + "EnablePrivateAccessForAllDisks", + "EnablePublicAccessForAllDisks" + ], + "x-ms-enum": { + "name": "TargetDiskNetworkAccessOption", + "modelAsString": false + } + }, + "TargetDiskNetworkAccessSettings": { "type": "object", + "description": "Specifies target network access settings for disks of VM to be restored.", "properties": { - "resourceGuardOperationRequests": { - "description": "ResourceGuard Operation Requests", - "type": "array", - "items": { - "type": "string" - } + "targetDiskNetworkAccessOption": { + "$ref": "#/definitions/TargetDiskNetworkAccessOption", + "description": "Network access settings to be used for restored disks" + }, + "targetDiskAccessId": { + "type": "string", + "description": "Gets or sets the ARM resource ID of the target disk access to be used when TargetDiskNetworkAccessOption is set to TargetDiskNetworkAccessOption.UseNew" } } }, - "TokenInformation": { - "description": "The token information details.", + "TargetRestoreInfo": { "type": "object", + "description": "Details about target workload during restore operation.", "properties": { - "token": { - "description": "Token value.", - "type": "string" + "overwriteOption": { + "$ref": "#/definitions/OverwriteOptions", + "description": "Can Overwrite if Target DataBase already exists" }, - "expiryTimeInUtcTicks": { - "format": "int64", - "description": "Expiry time of token.", - "type": "integer" + "containerId": { + "type": "string", + "description": "Resource Id name of the container in which Target DataBase resides" }, - "securityPIN": { - "description": "Security PIN", - "type": "string" + "databaseName": { + "type": "string", + "description": "Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana" + }, + "targetDirectoryForFileRestore": { + "type": "string", + "description": "Target directory location for restore as files." } } }, - "WorkloadInquiryDetails": { - "description": "Details of an inquired protectable item.", + "TieringCostInfo": { "type": "object", + "description": "Base class for tiering cost response", "properties": { - "type": { - "description": "Type of the Workload such as SQL, Oracle etc.", - "type": "string" - }, - "itemCount": { - "format": "int64", - "description": "Contains the protectable item Count inside this Container.", - "type": "integer" - }, - "inquiryValidation": { - "$ref": "#/definitions/InquiryValidation", - "description": "Inquiry validation such as permissions and other backup validations." + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } - } + }, + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "WorkloadItem": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "TieringCostRehydrationInfo": { "type": "object", + "description": "Response parameters for tiering cost info for rehydration", + "properties": { + "rehydrationSizeInBytes": { + "type": "integer", + "format": "int64", + "description": "Rehydration size in bytes" + }, + "retailRehydrationCostPerGBPerMonth": { + "type": "number", + "format": "double", + "description": "Source tier to target tier rehydration cost per GB per month" + } + }, "required": [ - "workloadItemType" + "rehydrationSizeInBytes", + "retailRehydrationCostPerGBPerMonth" + ], + "allOf": [ + { + "$ref": "#/definitions/TieringCostInfo" + } ], + "x-ms-discriminator-value": "TieringCostRehydrationInfo" + }, + "TieringCostSavingInfo": { + "type": "object", + "description": "Response parameters for tiering cost info for savings", "properties": { - "backupManagementType": { - "description": "Type of backup management to backup an item.", - "type": "string" - }, - "workloadType": { - "description": "Type of workload for the backup management", - "type": "string" + "sourceTierSizeReductionInBytes": { + "type": "integer", + "format": "int64", + "description": "Source tier size reduction in bytes after moving all the recommended backup points to target tier" }, - "workloadItemType": { - "description": "Type of the backup item.", - "type": "string" + "targetTierSizeIncreaseInBytes": { + "type": "integer", + "format": "int64", + "description": "Target tier size increase in bytes after moving all the recommended backup points to target tier" }, - "friendlyName": { - "description": "Friendly name of the backup item.", - "type": "string" + "retailSourceTierCostPerGBPerMonth": { + "type": "number", + "format": "double", + "description": "Source tier retail cost per GB per month" }, - "protectionState": { - "description": "State of the back up item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true - } + "retailTargetTierCostPerGBPerMonth": { + "type": "number", + "format": "double", + "description": "Target tier retail cost per GB per month" } }, - "discriminator": "workloadItemType" - }, - "WorkloadItemResource": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "required": [ + "sourceTierSizeReductionInBytes", + "targetTierSizeIncreaseInBytes", + "retailSourceTierCostPerGBPerMonth", + "retailTargetTierCostPerGBPerMonth" + ], "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TieringCostInfo" } ], + "x-ms-discriminator-value": "TieringCostSavingInfo" + }, + "TieringMode": { + "type": "string", + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\n1. TierRecommended: Tier all recovery points recommended to be tiered\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\n3. DoNotTier: Do not tier any recovery points", + "enum": [ + "Invalid", + "TierRecommended", + "TierAfter", + "DoNotTier" + ], + "x-ms-enum": { + "name": "TieringMode", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "TierRecommended", + "value": "TierRecommended" + }, + { + "name": "TierAfter", + "value": "TierAfter" + }, + { + "name": "DoNotTier", + "value": "DoNotTier" + } + ] + } + }, + "TieringPolicy": { + "type": "object", + "description": "Tiering Policy for a target tier.\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier", "properties": { - "properties": { - "$ref": "#/definitions/WorkloadItem", - "description": "WorkloadItemResource properties" + "tieringMode": { + "$ref": "#/definitions/TieringMode", + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\n1. TierRecommended: Tier all recovery points recommended to be tiered\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\n3. DoNotTier: Do not tier any recovery points" + }, + "duration": { + "type": "integer", + "format": "int32", + "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\nUsed only if TieringMode is set to TierAfter" + }, + "durationType": { + "$ref": "#/definitions/RetentionDurationType", + "description": "Retention duration type: days/weeks/months/years\nUsed only if TieringMode is set to TierAfter" } } }, - "WorkloadItemResourceList": { - "description": "List of WorkloadItem resources", + "TokenInformation": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "The token information details.", "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/WorkloadItemResource" - } + "token": { + "type": "string", + "description": "Token value." + }, + "expiryTimeInUtcTicks": { + "type": "integer", + "format": "int64", + "description": "Expiry time of token." + }, + "securityPIN": { + "type": "string", + "description": "Security PIN" } } }, - "WorkloadProtectableItem": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "TriggerDataMoveRequest": { "type": "object", - "required": [ - "protectableItemType" - ], + "description": "Trigger DataMove Request", "properties": { - "backupManagementType": { - "description": "Type of backup management to backup an item.", - "type": "string" - }, - "workloadType": { - "description": "Type of workload for the backup management", - "type": "string" + "sourceResourceId": { + "type": "string", + "description": "ARM Id of source vault" }, - "protectableItemType": { - "description": "Type of the backup item.", - "type": "string" + "sourceRegion": { + "type": "string", + "description": "Source Region" }, - "friendlyName": { - "description": "Friendly name of the backup item.", - "type": "string" + "dataMoveLevel": { + "$ref": "#/definitions/DataMoveLevel", + "description": "DataMove Level" }, - "protectionState": { - "description": "State of the back up item.", - "enum": [ - "Invalid", - "NotProtected", - "Protecting", - "Protected", - "ProtectionFailed" - ], + "correlationId": { "type": "string", - "x-ms-enum": { - "name": "ProtectionStatus", - "modelAsString": true + "description": "Correlation Id" + }, + "sourceContainerArmIds": { + "type": "array", + "description": "Source Container ArmIds", + "items": { + "type": "string" } + }, + "pauseGC": { + "type": "boolean", + "description": "Pause GC" } }, - "discriminator": "protectableItemType" + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ] }, - "WorkloadProtectableItemResource": { - "description": "Base class for backup item. Workload-specific backup items are derived from this class.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "Type": { + "type": "string", + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" ], - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadProtectableItem", - "description": "WorkloadProtectableItemResource properties" - } + "x-ms-enum": { + "name": "Type", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "BackupProtectedItemCountSummary", + "value": "BackupProtectedItemCountSummary" + }, + { + "name": "BackupProtectionContainerCountSummary", + "value": "BackupProtectionContainerCountSummary" + } + ] } }, - "WorkloadProtectableItemResourceList": { - "description": "List of WorkloadProtectableItem resources", + "TypeSpec.Http.OkResponse": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "The request has succeeded." + }, + "UnlockDeleteRequest": { + "type": "object", + "description": "Request body of unlock delete API.", "properties": { - "value": { - "description": "List of resources.", + "resourceGuardOperationRequests": { "type": "array", "items": { - "$ref": "#/definitions/WorkloadProtectableItemResource" + "type": "string" } + }, + "resourceToBeDeleted": { + "type": "string" } } }, - "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { - "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "UnlockDeleteResponse": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + "description": "Response of Unlock Delete API.", + "properties": { + "unlockDeleteExpiryTime": { + "type": "string", + "description": "This is the time when unlock delete privileges will get expired." } + } + }, + "UsagesUnit": { + "type": "string", + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" ], + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true, + "values": [ + { + "name": "Count", + "value": "Count" + }, + { + "name": "Bytes", + "value": "Bytes" + }, + { + "name": "Seconds", + "value": "Seconds" + }, + { + "name": "Percent", + "value": "Percent" + }, + { + "name": "CountPerSecond", + "value": "CountPerSecond" + }, + { + "name": "BytesPerSecond", + "value": "BytesPerSecond" + } + ] + } + }, + "UserAssignedIdentityProperties": { + "type": "object", + "description": "User assigned managed identity properties", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "clientId": { + "type": "string", + "description": "The client ID of the assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal ID of the assigned identity." } - }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + } }, - "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { - "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "UserAssignedManagedIdentityDetails": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" - } - ], + "description": "User assigned managed identity details", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "identityArmId": { + "type": "string", + "description": "The ARM id of the assigned identity." + }, + "identityName": { + "type": "string", + "description": "The name of the assigned identity." + }, + "userAssignedIdentityProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperties", + "description": "User assigned managed identity properties" } - }, - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + } }, - "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { - "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "ValidateIaasVMRestoreOperationRequest": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" - } - ], + "description": "AzureRestoreValidation request.", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" } }, - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" - }, - "AzureWorkloadSQLRestoreWithRehydrateRequest": { - "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", - "type": "object", "allOf": [ { - "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + "$ref": "#/definitions/ValidateOperationRequest" } ], + "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" + }, + "ValidateOperationRequest": { + "type": "object", + "description": "Base class for validate operation request.", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." } }, - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + "discriminator": "objectType", + "required": [ + "objectType" + ] }, - "IaasVMRestoreWithRehydrationRequest": { - "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "ValidateOperationRequestResource": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/IaasVMRestoreRequest" - } - ], + "description": "Base class for validate operation request.", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "id": { + "type": "string", + "description": "Recovery point ID." + }, + "properties": { + "$ref": "#/definitions/ValidateOperationRequest", + "description": "ValidateOperationRequestResource properties" } }, - "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + "required": [ + "id", + "properties" + ] }, - "MoveRPAcrossTiersRequest": { + "ValidateOperationResponse": { "type": "object", + "description": "Base class for validate operation response.", "properties": { - "objectType": { - "description": "Gets the class type.", - "type": "string" - }, - "sourceTierType": { - "description": "Source tier from where RP needs to be moved", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } - }, - "targetTierType": { - "description": "Target tier where RP needs to be moved", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } + "validationResults": { + "type": "array", + "description": "Gets the validation result", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-identifiers": [ + "code" + ] } } }, - "RecoveryPointMoveReadinessInfo": { + "ValidateOperationsResponse": { "type": "object", "properties": { - "isReadyForMove": { - "type": "boolean" - }, - "additionalInfo": { - "type": "string" + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse", + "description": "Base class for validate operation response." } } }, - "RecoveryPointRehydrationInfo": { - "description": "RP Rehydration Info", + "ValidateRestoreOperationRequest": { "type": "object", + "description": "AzureRestoreValidation request.", "properties": { - "rehydrationRetentionDuration": { - "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"", - "type": "string" - }, - "rehydrationPriority": { - "description": "Rehydration Priority", - "enum": [ - "Standard", - "High" - ], - "type": "string", - "x-ms-enum": { - "name": "RehydrationPriority", - "modelAsString": true - } + "restoreRequest": { + "$ref": "#/definitions/RestoreRequest", + "description": "Sets restore request to be validated" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ValidateOperationRequest" } + ], + "x-ms-discriminator-value": "ValidateRestoreOperationRequest" + }, + "ValidationStatus": { + "type": "string", + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Succeeded", + "value": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed" + } + ] } }, - "RecoveryPointProperties": { - "description": "Properties of Recovery Point", + "VaultJob": { "type": "object", + "description": "Vault level Job", "properties": { - "expiryTime": { - "description": "Expiry time of Recovery Point in UTC.", - "type": "string" + "duration": { + "type": "string", + "format": "duration", + "description": "Time elapsed during the execution of this job." }, - "ruleName": { - "description": "Rule name tagged on Recovery Point that governs life cycle", - "type": "string" + "actionsInfo": { + "type": "array", + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "items": { + "$ref": "#/definitions/JobSupportedAction" + } }, - "isSoftDeleted": { - "description": "Bool to indicate whether RP is in soft delete state or not", - "type": "boolean" + "errorDetails": { + "type": "array", + "description": "Error details on execution of this job.", + "items": { + "$ref": "#/definitions/VaultJobErrorInfo" + }, + "x-ms-identifiers": [ + "errorCode" + ] + }, + "extendedInfo": { + "$ref": "#/definitions/VaultJobExtendedInfo", + "description": "Additional information about the job." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "x-ms-discriminator-value": "VaultJob" }, - "ListRecoveryPointsRecommendedForMoveRequest": { - "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "VaultJobErrorInfo": { "type": "object", + "description": "Vault Job specific error information", "properties": { - "objectType": { - "description": "Gets the class type.", - "type": "string" + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code." }, - "excludedRPList": { - "description": "List of Recovery Points excluded from Move", + "errorString": { + "type": "string", + "description": "Localized error string." + }, + "recommendations": { "type": "array", + "description": "List of localized recommendations for above error code.", "items": { "type": "string" } } } }, - "UnlockDeleteRequest": { - "description": "Request body of unlock delete API.", + "VaultJobExtendedInfo": { "type": "object", + "description": "Vault Job for CMK - has CMK specific info.", "properties": { - "resourceGuardOperationRequests": { - "type": "array", - "items": { + "propertyBag": { + "type": "object", + "description": "Job properties.", + "additionalProperties": { "type": "string" } - }, - "resourceToBeDeleted": { - "type": "string" } } }, - "UnlockDeleteResponse": { - "description": "Response of Unlock Delete API.", + "VaultResource": { "type": "object", "properties": { - "unlockDeleteExpiryTime": { - "description": "This is the time when unlock delete privileges will get expired.", - "type": "string" + "name": { + "type": "string", + "description": "The name of the VaultResource", + "readOnly": true } - } + }, + "required": [ + "name" + ] }, - "ResourceGuardOperationDetail": { + "VaultRetentionPolicy": { "type": "object", + "description": "Vault retention policy for AzureFileShare", "properties": { - "vaultCriticalOperation": { - "type": "string" + "vaultRetention": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Base class for retention policy." }, - "defaultResourceRequest": { - "type": "string" + "snapshotRetentionInDays": { + "type": "integer", + "format": "int32" } - } + }, + "required": [ + "vaultRetention", + "snapshotRetentionInDays" + ] }, - "ResourceGuardProxyBase": { + "VaultStorageConfigOperationResultResponse": { "type": "object", + "description": "Operation result response for Vault Storage Config", + "properties": { + "objectType": { + "type": "string", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types." + } + }, + "discriminator": "objectType", "required": [ - "resourceGuardResourceId" + "objectType" + ] + }, + "VaultSubResourceType": { + "type": "string", + "description": "GroupId for the PrivateEndpointConnection - AzureBackup, AzureBackup_secondary or AzureSiteRecovery", + "enum": [ + "AzureBackup", + "AzureBackup_secondary", + "AzureSiteRecovery" ], - "properties": { - "resourceGuardResourceId": { - "type": "string" - }, - "resourceGuardOperationDetails": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceGuardOperationDetail" + "x-ms-enum": { + "name": "VaultSubResourceType", + "modelAsString": true, + "values": [ + { + "name": "AzureBackup", + "value": "AzureBackup" }, - "x-ms-identifiers": [] - }, - "lastUpdatedTime": { - "type": "string" - }, - "description": { - "type": "string" - } + { + "name": "AzureBackup_secondary", + "value": "AzureBackup_secondary" + }, + { + "name": "AzureSiteRecovery", + "value": "AzureSiteRecovery" + } + ] } }, - "ResourceGuardProxyBaseResource": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "WeekOfMonth": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last", + "Invalid" ], - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ResourceGuardProxyBase", - "description": "ResourceGuardProxyBaseResource properties" - } + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false } }, - "ResourceGuardProxyBaseResourceList": { - "description": "List of ResourceGuardProxyBase resources", + "WeeklyRetentionFormat": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], + "description": "Weekly retention format.", "properties": { - "value": { - "description": "List of resources.", + "daysOfTheWeek": { "type": "array", + "description": "List of days of the week.", "items": { - "$ref": "#/definitions/ResourceGuardProxyBaseResource" + "$ref": "#/definitions/DayOfWeek" + } + }, + "weeksOfTheMonth": { + "type": "array", + "description": "List of weeks of month.", + "items": { + "$ref": "#/definitions/WeekOfMonth" } } } }, - "TieringPolicy": { - "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier", + "WeeklyRetentionSchedule": { "type": "object", + "description": "Weekly retention schedule.", "properties": { - "tieringMode": { - "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points", - "enum": [ - "Invalid", - "TierRecommended", - "TierAfter", - "DoNotTier" - ], - "type": "string", - "x-ms-enum": { - "name": "TieringMode", - "modelAsString": true + "daysOfTheWeek": { + "type": "array", + "description": "List of days of week for weekly retention policy.", + "items": { + "$ref": "#/definitions/DayOfWeek" } }, - "duration": { - "format": "int32", - "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter", - "type": "integer" - }, - "durationType": { - "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter", - "enum": [ - "Invalid", - "Days", - "Weeks", - "Months", - "Years" - ], - "type": "string", - "x-ms-enum": { - "name": "RetentionDurationType", - "modelAsString": true + "retentionTimes": { + "type": "array", + "description": "Retention times of retention policy.", + "items": { + "type": "string", + "format": "date-time" } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." } } }, - "TieringCostInfo": { - "description": "Base class for tiering cost response", - "required": [ - "objectType" - ], + "WeeklySchedule": { "type": "object", "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "scheduleRunDays": { + "type": "array", + "items": { + "$ref": "#/definitions/DayOfWeek" + } + }, + "scheduleRunTimes": { + "type": "array", + "description": "List of times of day this schedule has to be run.", + "items": { + "type": "string", + "format": "date-time" + } } - }, - "discriminator": "objectType" + } }, - "FetchTieringCostInfoForRehydrationRequest": { - "description": "Request parameters for fetching cost info of rehydration", - "required": [ - "objectType", - "containerName", - "protectedItemName", - "recoveryPointId", - "rehydrationPriority", - "sourceTierType", - "targetTierType" - ], + "WorkloadInquiryDetails": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FetchTieringCostInfoRequest" - } - ], + "description": "Details of an inquired protectable item.", "properties": { - "containerName": { - "description": "Name of the protected item container", - "type": "string" - }, - "protectedItemName": { - "description": "Name of the protectedItemName", - "type": "string" + "type": { + "type": "string", + "description": "Type of the Workload such as SQL, Oracle etc." }, - "recoveryPointId": { - "description": "ID of the backup copy for rehydration cost info needs to be fetched.", - "type": "string" + "itemCount": { + "type": "integer", + "format": "int64", + "description": "Contains the protectable item Count inside this Container." }, - "rehydrationPriority": { - "description": "Rehydration Priority", - "enum": [ - "Standard", - "High" - ], - "type": "string", - "x-ms-enum": { - "name": "RehydrationPriority", - "modelAsString": true - } + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." } - }, - "x-ms-discriminator-value": "FetchTieringCostInfoForRehydrationRequest" + } }, - "FetchTieringCostInfoRequest": { - "description": "Base class for tiering cost request.\r\nSpecific cost request types are derived from this class.", - "required": [ - "sourceTierType", - "targetTierType", - "objectType" - ], + "WorkloadItem": { "type": "object", + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "properties": { - "sourceTierType": { - "description": "Source tier for the request", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], + "backupManagementType": { + "type": "string", + "description": "Type of backup management to backup an item." + }, + "workloadType": { + "type": "string", + "description": "Type of workload for the backup management" + }, + "workloadItemType": { "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } + "description": "Type of the backup item." }, - "targetTierType": { - "description": "target tier for the request", - "enum": [ - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP" - ], + "friendlyName": { "type": "string", - "x-ms-enum": { - "name": "RecoveryPointTierType", - "modelAsString": false - } + "description": "Friendly name of the backup item." }, - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", - "type": "string" + "protectionState": { + "$ref": "#/definitions/ProtectionStatus", + "description": "State of the back up item." } }, - "discriminator": "objectType" - }, - "TieringCostRehydrationInfo": { - "description": "Response parameters for tiering cost info for rehydration", + "discriminator": "workloadItemType", "required": [ - "objectType", - "rehydrationSizeInBytes", - "retailRehydrationCostPerGBPerMonth" - ], + "workloadItemType" + ] + }, + "WorkloadItemResource": { "type": "object", + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } + }, "allOf": [ { - "$ref": "#/definitions/TieringCostInfo" + "$ref": "#/definitions/Resource" } - ], + ] + }, + "WorkloadItemResourceList": { + "type": "object", + "description": "List of WorkloadItem resources", "properties": { - "rehydrationSizeInBytes": { - "format": "int64", - "description": "Rehydration size in bytes", - "type": "integer" + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/WorkloadItemResource" + } }, - "retailRehydrationCostPerGBPerMonth": { - "format": "double", - "description": "Source tier to target tier rehydration cost per GB per month", - "type": "number" + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - }, - "x-ms-discriminator-value": "TieringCostRehydrationInfo" + } }, - "TieringCostSavingInfo": { - "description": "Response parameters for tiering cost info for savings", - "required": [ - "objectType", - "sourceTierSizeReductionInBytes", - "targetTierSizeIncreaseInBytes", - "retailSourceTierCostPerGBPerMonth", - "retailTargetTierCostPerGBPerMonth" + "WorkloadItemType": { + "type": "string", + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase", + "SAPHanaDBInstance" ], + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "SQLInstance", + "value": "SQLInstance" + }, + { + "name": "SQLDataBase", + "value": "SQLDataBase" + }, + { + "name": "SAPHanaSystem", + "value": "SAPHanaSystem" + }, + { + "name": "SAPHanaDatabase", + "value": "SAPHanaDatabase" + }, + { + "name": "SAPAseSystem", + "value": "SAPAseSystem" + }, + { + "name": "SAPAseDatabase", + "value": "SAPAseDatabase" + }, + { + "name": "SAPHanaDBInstance", + "value": "SAPHanaDBInstance" + } + ] + } + }, + "WorkloadProtectableItem": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TieringCostInfo" - } - ], + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "properties": { - "sourceTierSizeReductionInBytes": { - "format": "int64", - "description": "Source tier size reduction in bytes after moving all the recommended backup points to target tier", - "type": "integer" + "backupManagementType": { + "type": "string", + "description": "Type of backup management to backup an item." }, - "targetTierSizeIncreaseInBytes": { - "format": "int64", - "description": "Target tier size increase in bytes after moving all the recommended backup points to target tier", - "type": "integer" + "workloadType": { + "type": "string", + "description": "Type of workload for the backup management" }, - "retailSourceTierCostPerGBPerMonth": { - "format": "double", - "description": "Source tier retail cost per GB per month", - "type": "number" + "protectableItemType": { + "type": "string", + "description": "Type of the backup item." }, - "retailTargetTierCostPerGBPerMonth": { - "format": "double", - "description": "Target tier retail cost per GB per month", - "type": "number" + "friendlyName": { + "type": "string", + "description": "Friendly name of the backup item." + }, + "protectionState": { + "$ref": "#/definitions/ProtectionStatus", + "description": "State of the back up item." } }, - "x-ms-discriminator-value": "TieringCostSavingInfo" - }, - "FetchTieringCostSavingsInfoForPolicyRequest": { - "description": "Request parameters for tiering cost info for policy", + "discriminator": "protectableItemType", "required": [ - "objectType", - "policyName", - "sourceTierType", - "targetTierType" - ], + "protectableItemType" + ] + }, + "WorkloadProtectableItemResource": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FetchTieringCostInfoRequest" - } - ], + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "properties": { - "policyName": { - "description": "Name of the backup policy for which the cost savings information is requested", - "type": "string" + "properties": { + "$ref": "#/definitions/WorkloadProtectableItem", + "description": "WorkloadProtectableItemResource properties" } }, - "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForPolicyRequest" - }, - "FetchTieringCostSavingsInfoForProtectedItemRequest": { - "description": "Request parameters for tiering cost info for protected item", - "required": [ - "objectType", - "containerName", - "protectedItemName", - "sourceTierType", - "targetTierType" - ], - "type": "object", "allOf": [ { - "$ref": "#/definitions/FetchTieringCostInfoRequest" - } - ], - "properties": { - "containerName": { - "description": "Name of the protected item container", - "type": "string" - }, - "protectedItemName": { - "description": "Name of the protectedItemName", - "type": "string" + "$ref": "#/definitions/Resource" } - }, - "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForProtectedItemRequest" + ] }, - "FetchTieringCostSavingsInfoForVaultRequest": { - "description": "Request parameters for tiering cost info for vault", - "required": [ - "objectType", - "sourceTierType", - "targetTierType" - ], + "WorkloadProtectableItemResourceList": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FetchTieringCostInfoRequest" + "description": "List of WorkloadProtectableItem resources", + "properties": { + "value": { + "type": "array", + "description": "List of resources.", + "items": { + "$ref": "#/definitions/WorkloadProtectableItemResource" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - ], - "x-ms-discriminator-value": "FetchTieringCostSavingsInfoForVaultRequest" - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription Id.", - "required": true, - "type": "string" - }, - "AzureRegion": { - "name": "azureRegion", - "in": "path", - "description": "Azure region to hit Api", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" + } }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group where the recovery services vault is present.", - "required": true, + "WorkloadType": { "type": "string", - "x-ms-parameter-location": "method" + "description": "Type of workload for the backup management", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase", + "SAPHanaDBInstance" + ], + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "VM", + "value": "VM" + }, + { + "name": "FileFolder", + "value": "FileFolder" + }, + { + "name": "AzureSqlDb", + "value": "AzureSqlDb" + }, + { + "name": "SQLDB", + "value": "SQLDB" + }, + { + "name": "Exchange", + "value": "Exchange" + }, + { + "name": "Sharepoint", + "value": "Sharepoint" + }, + { + "name": "VMwareVM", + "value": "VMwareVM" + }, + { + "name": "SystemState", + "value": "SystemState" + }, + { + "name": "Client", + "value": "Client" + }, + { + "name": "GenericDataSource", + "value": "GenericDataSource" + }, + { + "name": "SQLDataBase", + "value": "SQLDataBase" + }, + { + "name": "AzureFileShare", + "value": "AzureFileShare" + }, + { + "name": "SAPHanaDatabase", + "value": "SAPHanaDatabase" + }, + { + "name": "SAPAseDatabase", + "value": "SAPAseDatabase" + }, + { + "name": "SAPHanaDBInstance", + "value": "SAPHanaDBInstance" + } + ] + } }, - "VaultName": { - "name": "vaultName", - "in": "path", - "description": "The name of the recovery services vault.", - "required": true, + "XcoolState": { "type": "string", - "x-ms-parameter-location": "method" + "description": "Vault x-cool state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "XcoolState", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + } }, - "RestrictedVaultName": { - "name": "vaultName", - "in": "path", - "description": "The name of the recovery services vault.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "pattern": "^[A-Za-z][-A-Za-z0-9]*[A-Za-z0-9]$", - "minLength": 2, - "maxLength": 50 - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "Client Api Version.", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account." + "YearlyRetentionSchedule": { + "type": "object", + "description": "Yearly retention schedule.", + "properties": { + "retentionScheduleFormatType": { + "$ref": "#/definitions/RetentionScheduleFormat", + "description": "Retention schedule format for yearly retention policy." + }, + "monthsOfYear": { + "type": "array", + "description": "List of months of year of yearly retention policy.", + "items": { + "$ref": "#/definitions/MonthOfYear" + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "type": "array", + "description": "Retention times of retention policy.", + "items": { + "type": "string", + "format": "date-time" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } } } }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] + "parameters": {} } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json index 7985594606c5..5818457fed52 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "azureRegion": "southeastasia", "api-version": "2025-02-01", + "azureRegion": "southeastasia", "parameters": { "featureType": "AzureVMResourceBackup", "vmSize": "Basic_A0", "vmSku": "Premium" - } + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { @@ -15,5 +15,7 @@ "supportStatus": "DefaultOFF" } } - } -} + }, + "operationId": "FeatureSupport_Validate", + "title": "Check Azure Vm Backup Feature Support" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json index 4d23f3823cc4..327b0fa3b30d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -1,21 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "backupManagementType eq 'AzureIaasVM'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureIaasVM'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", "name": "DefaultPolicy", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -23,28 +36,28 @@ "2017-12-05T19:00:00Z" ], "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2017-12-05T19:00:00Z" - ], - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } - }, - "protectedItemsCount": 0 + } } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -53,24 +66,13 @@ ], "scheduleWeeklyFrequency": 0 }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "timeZone": "Pacific Standard Time" } } ] } } - } -} + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json index 2cd37ee1fcab..1ac9a83b89b0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -1,30 +1,32 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "backupManagementType eq 'AzureIaasVM'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureIaasVM'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "properties": { + "backupManagementType": "AzureIaasVM", "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionState": "NotProtected", "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", + "protectionState": "NotProtected", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", "workloadType": "VM" } } ] } } - } -} + }, + "operationId": "BackupProtectableItems_List", + "title": "List protectable items with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json index 49eff9347e4a..238e2dfe08a2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -1,40 +1,42 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "policyType": "V2", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectionState": "Protected", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", - "policyType": "V2" + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "workloadType": "VM" } } ] } } - } -} + }, + "operationId": "BackupProtectedItems_List", + "title": "List protected items with backupManagementType filter as AzureIaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json index 1d699e0f453d..7be19eb72aef 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -1,39 +1,41 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "fabricName": "Azure", "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", - "api-version": "2025-02-01" + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "policyType": "V1", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectionState": "Protected", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", - "policyType": "V1" + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "workloadType": "VM" } - } + }, + "headers": {} } - } -} + }, + "operationId": "ProtectedItems_Get", + "title": "Get Protected Classic Virtual Machine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json index c9aeec240a12..aa76c8c96a0d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -1,39 +1,41 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "fabricName": "Azure", "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", - "api-version": "2025-02-01" + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", "friendlyName": "iaasvm-1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", - "protectionStatus": "Healthy", - "protectionState": "Protected", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "policyType": "V2", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectionState": "Protected", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", - "policyType": "V2" + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "workloadType": "VM" } - } + }, + "headers": {} } - } -} + }, + "operationId": "ProtectedItems_Get", + "title": "Get Protected Virtual Machine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json index 4b3ea76ec6a3..7a0bc5b7bd60 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json @@ -1,51 +1,53 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", "protectedItemType": "Microsoft.Compute/virtualMachines", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "Protected", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectionState": "Protected", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" } } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } } - } -} + }, + "operationId": "ProtectedItems_CreateOrUpdate", + "title": "Enable Protection on Azure IaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json index e3de9effe338..143770f0d5f4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json @@ -1,25 +1,27 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "azureRegion": "southeastasia", "api-version": "2025-02-01", + "azureRegion": "southeastasia", "parameters": { "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", "resourceType": "VM" - } + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "protectionStatus": "Protected", - "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", - "fabricName": "Azure", "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", - "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", - "policyName": "myPolicy", "errorCode": "Success", - "errorMessage": "ErrorMessage" + "errorMessage": "ErrorMessage", + "fabricName": "Azure", + "policyName": "myPolicy", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault" } } - } -} + }, + "operationId": "BackupStatus_Get", + "title": "Get Azure Virtual Machine Backup Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json index 0cf3fb7eb471..ef4d74cccdb5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -1,46 +1,48 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "Protected", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectionState": "Protected", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" } } }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, "204": {} - } -} + }, + "operationId": "ProtectedItemOperationResults_Get", + "title": "Get Operation Results of Protected Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json index 7ff6421d551f..50286040433c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -1,28 +1,30 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", - "status": "Succeeded", - "startTime": "2017-10-29T06:04:18.207325Z", "endTime": "2017-10-29T06:04:18.207325Z", + "id": "00000000-0000-0000-0000-000000000000", "properties": { - "objectType": "OperationStatusJobExtendedInfo", - "jobId": "00000000-0000-0000-0000-000000000000" - } - } + "jobId": "00000000-0000-0000-0000-000000000000", + "objectType": "OperationStatusJobExtendedInfo" + }, + "startTime": "2017-10-29T06:04:18.207325Z", + "status": "Succeeded" + }, + "headers": {} } - } -} + }, + "operationId": "ProtectedItemOperationStatuses_Get", + "title": "Get Operation Status of Protected Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json index 41e6b13319e0..9d39b77f740c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -1,32 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myRG", - "vaultName": "myVault", + "api-version": "2025-02-01", "fabricName": "Azure", "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", - "api-version": "2025-02-01", "parameters": { "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", "protectionIntentItemType": "AzureResourceItem", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel" } - } + }, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", "properties": { - "protectionIntentItemType": "AzureResourceItem", "backupManagementType": "AzureIaasVM", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionIntentItemType": "AzureResourceItem", "protectionState": "Protected" } } } - } -} + }, + "operationId": "ProtectionIntent_CreateOrUpdate", + "title": "Create or Update Azure Vm Protection Intent" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json index 0bf112923b19..f70be6ac14bd 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -1,25 +1,27 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "azureRegion": "southeastasia", "api-version": "2025-02-01", + "azureRegion": "southeastasia", "parameters": { + "properties": "", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", "resourceType": "VM", - "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", - "properties": "" - } + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault" + }, + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "200": { "body": { - "status": "Failed", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", "errorCode": "VirtualMachineAlreadyProtected", "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1", "recommendation": "Please do not enable protection again.", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", - "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + "status": "Failed" } } - } -} + }, + "operationId": "ProtectionIntent_Validate", + "title": "Validate Enable Protection on Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json index 27eff3e5362b..7c4a19211960 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -1,43 +1,15 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", - "timeZone": "Pacific Standard Time", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Monday", - "Wednesday", - "Thursday" - ] - }, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Monday", - "Wednesday", - "Thursday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Weeks" - } - }, "monthlySchedule": { + "retentionDuration": { + "count": 2, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -51,18 +23,33 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" ], "retentionDuration": { - "count": 2, - "durationType": "Months" - } + "count": 1, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "February", "November" ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Monday", @@ -74,54 +61,44 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 4, - "durationType": "Years" - } + ] } - } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "timeZone": "Pacific Standard Time" } - } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunDays": [ - "Monday", - "Wednesday", - "Thursday" - ], - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, + "protectedItemsCount": 0, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Monday", - "Wednesday", - "Thursday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Weeks" - } - }, "monthlySchedule": { + "retentionDuration": { + "count": 2, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -135,18 +112,33 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" ], "retentionDuration": { - "count": 2, - "durationType": "Months" - } + "count": 1, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "February", "November" ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Monday", @@ -158,24 +150,34 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 4, - "durationType": "Years" - } + ] } }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "Pacific Standard Time" } } }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Full Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json index e3ebe9967a6b..37126dfa9a8e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -1,14 +1,21 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", - "timeZone": "Pacific Standard Time", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -16,29 +23,35 @@ "2018-01-24T02:00:00Z" ] }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - } + "timeZone": "Pacific Standard Time" } - } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -47,29 +60,18 @@ ], "scheduleWeeklyFrequency": 0 }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "timeZone": "Pacific Standard Time" } } }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Simple Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json index d89a6be82541..c49317385c29 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "policyName": "testPolicy1", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": {}, "204": {} - } -} + }, + "operationId": "ProtectionPolicies_Delete", + "title": "Delete Azure Vm Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json index 8fdd58e04ced..a5c6c28ecf17 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -1,19 +1,32 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "policyName": "testPolicy1", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -22,22 +35,11 @@ ], "scheduleWeeklyFrequency": 0 }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "timeZone": "Pacific Standard Time" } } } - } -} + }, + "operationId": "ProtectionPolicies_Get", + "title": "Get Azure IaasVm Protection Policy Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json index 241a0d8bdf5f..91600ac1cea0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -1,20 +1,33 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 1, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -23,22 +36,11 @@ ], "scheduleWeeklyFrequency": 0 }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 1 + "timeZone": "Pacific Standard Time" } } } - } -} + }, + "operationId": "ProtectionPolicyOperationResults_Get", + "title": "Get Protection Policy Operation Results" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json index 5e4f06ef8cae..ab2f939dd63c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -1,28 +1,30 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "00000000-0000-0000-0000-000000000000", "name": "GetProtectionPolicyOperationStatus", - "status": "Succeeded", - "startTime": "2018-01-24T12:57:32.1142968Z", "endTime": "2018-01-24T12:57:32.1142968Z", + "id": "00000000-0000-0000-0000-000000000000", "properties": { - "objectType": "OperationStatusJobsExtendedInfo", + "failedJobsError": {}, "jobIds": [ "00000000-0000-0000-0000-000000000000" ], - "failedJobsError": {} - } + "objectType": "OperationStatusJobsExtendedInfo" + }, + "startTime": "2018-01-24T12:57:32.1142968Z", + "status": "Succeeded" } } - } -} + }, + "operationId": "ProtectionPolicyOperationStatuses_Get", + "title": "Get Protection Policy Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json index e7b597b74343..3a832d75f62e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json @@ -1,22 +1,22 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", - "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "recoveryPointId": "1", "api-version": "2025-02-01", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { "initiatorName": "Hello World", + "objectType": "IaasVMILRRegistrationRequest", "recoveryPointId": "38823086363464", "renewExistingRegistration": true, - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", - "objectType": "IaasVMILRRegistrationRequest" + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1" } - } + }, + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "202": { @@ -26,5 +26,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "ItemLevelRecoveryConnections_Provision", + "title": "Provision Instant Item Level Recovery for Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json index 35e96968d695..1226c4f834f6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -1,36 +1,41 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rshhtestmdvmrg", - "vaultName": "rshvault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", "parameters": { - "objectType": "ListRecoveryPointsRecommendedForMoveRequest", "excludedRPList": [ "348916168024334", "348916168024335" - ] - } + ], + "objectType": "ListRecoveryPointsRecommendedForMoveRequest" + }, + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" }, "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", "name": "22244821112382", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "originalStorageAccountOption": false, "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, "recoveryPointTierDetails": [ { "type": "InstantRP", @@ -41,28 +46,28 @@ "status": "Valid" } ], - "recoveryPointMoveReadinessInfo": { - "ArchivedRP": { - "isReadyForMove": true - } - }, - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1" } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", "name": "24977149827250", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "originalStorageAccountOption": false, "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, "recoveryPointTierDetails": [ { "type": "InstantRP", @@ -74,28 +79,25 @@ }, { "type": "ArchivedRP", - "status": "Rehydrated", "extendedInfo": { "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" - } + }, + "status": "Rehydrated" } ], - "recoveryPointMoveReadinessInfo": { - "ArchivedRP": { - "isReadyForMove": true - } - }, - "isManagedVirtualMachine": true, + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false, "zones": [ "1" ] } } - ], - "nextLink": null + ] } } - } -} + }, + "operationId": "RecoveryPointsRecommendedForMove_List", + "title": "Get Protected Azure Vm Recovery Points Recommended for Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json index bc1cbbc64854..1dc179ad7171 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -1,48 +1,50 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rshhtestmdvmrg", - "vaultName": "rshvault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", "recoveryPointId": "26083826328862", - "api-version": "2025-02-01" + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", "name": "26083826328862", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": true, + "isSourceVMEncrypted": false, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "originalStorageAccountOption": false, "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, "recoveryPointTierDetails": [ { "type": "HardenedRP", "status": "Valid" } ], - "recoveryPointMoveReadinessInfo": { - "ArchivedRP": { - "isReadyForMove": true - } - }, - "isManagedVirtualMachine": true, + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false, "zones": [ "1" - ], - "isPrivateAccessEnabledOnAnyDisk": true + ] } } } - } -} + }, + "operationId": "RecoveryPoints_Get", + "title": "Get Azure Vm Recovery Point Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json index d91afc729479..5a4563d3c4e1 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -1,29 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "rshhtestmdvmrg", - "vaultName": "rshvault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "fabricName": "Azure", "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", - "api-version": "2025-02-01" + "resourceGroupName": "rshhtestmdvmrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rshvault" }, "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", "name": "22244821112382", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isSourceVMEncrypted": false, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "originalStorageAccountOption": false, "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, "recoveryPointTierDetails": [ { "type": "InstantRP", @@ -34,28 +39,30 @@ "status": "Valid" } ], - "recoveryPointMoveReadinessInfo": { - "Archive": { - "isReadyForMove": true - } - }, - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", + "virtualMachineSize": "Standard_D1" } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", "name": "24977149827250", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", "properties": { + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": true, + "isSourceVMEncrypted": false, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "originalStorageAccountOption": false, "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "NormalStorage", - "isSourceVMEncrypted": false, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved.", + "isReadyForMove": false + } + }, "recoveryPointTierDetails": [ { "type": "InstantRP", @@ -67,39 +74,44 @@ }, { "type": "ArchivedRP", - "status": "Rehydrated", "extendedInfo": { "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" - } + }, + "status": "Rehydrated" } ], - "recoveryPointMoveReadinessInfo": { - "ArchivedRP": { - "isReadyForMove": false, - "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved." - } - }, - "isManagedVirtualMachine": true, + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointType": "CrashConsistent", + "sourceVMStorageType": "NormalStorage", "virtualMachineSize": "Standard_D1", - "originalStorageAccountOption": false, "zones": [ "1" - ], - "isPrivateAccessEnabledOnAnyDisk": true + ] } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276", "name": "70477518625276", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/FijiValidation-asr-microsoftrrdclab3-408/providers/Microsoft.RecoveryServices/vaults/testVault408/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/protectedItems/VM;iaasvmcontainerv2;fijivalidation-asr-microsoftrrdclab3-408;vm408/recoveryPoints/70477518625276", "properties": { + "extendedLocation": { + "name": "microsoftrrdclab3", + "type": "EdgeZone" + }, + "isInstantIlrSessionActive": false, + "isManagedVirtualMachine": true, + "isPrivateAccessEnabledOnAnyDisk": false, + "isSourceVMEncrypted": true, "objectType": "IaasVMRecoveryPoint", - "recoveryPointType": "CrashConsistent", - "recoveryPointTime": "2023-09-22T20:02:00.1225746Z", + "originalStorageAccountOption": false, + "osType": "Windows", "recoveryPointAdditionalInfo": "", - "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage", - "isSourceVMEncrypted": true, - "isInstantIlrSessionActive": false, + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time.", + "isReadyForMove": false + } + }, "recoveryPointTierDetails": [ { "type": "InstantRP", @@ -110,27 +122,17 @@ "status": "Valid" } ], - "isManagedVirtualMachine": true, - "virtualMachineSize": "Standard_D2s_v3", - "originalStorageAccountOption": false, - "osType": "Windows", - "recoveryPointMoveReadinessInfo": { - "ArchivedRP": { - "isReadyForMove": false, - "additionalInfo": "We're still determining if this Recovery Point can be moved.. Please check again after some time." - } - }, - "extendedLocation": { - "name": "microsoftrrdclab3", - "type": "EdgeZone" - }, + "recoveryPointTime": "2023-09-22T20:02:00.1225746Z", + "recoveryPointType": "CrashConsistent", "securityType": "None", - "isPrivateAccessEnabledOnAnyDisk": false + "sourceVMStorageType": "PremiumVMOnPartialPremiumStorage", + "virtualMachineSize": "Standard_D2s_v3" } } - ], - "nextLink": null + ] } } - } -} + }, + "operationId": "RecoveryPoints_List", + "title": "Get Protected Azure Vm Recovery Points" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json index 552cda0d9d94..bf8906afe9d4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", "recoveryPointId": "1", - "api-version": "2025-02-01" + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "202": { @@ -17,5 +17,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "ItemLevelRecoveryConnections_Revoke", + "title": "Revoke Instant Item Level Recovery for Azure Vm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json index 11ec0570858e..245e7e3d5769 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json @@ -1,51 +1,53 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { "protectedItemType": "Microsoft.Compute/virtualMachines", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionState": "ProtectionStopped" + "protectionState": "ProtectionStopped", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "name": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "properties": { + "backupManagementType": "AzureIaasVM", + "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "friendlyName": "netvmtestv2vm1", - "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "protectionStatus": "Healthy", - "protectionState": "ProtectionStopped", "healthStatus": "Passed", "lastBackupStatus": "Completed", "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "lastRecoveryPoint": null, + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", "protectedItemDataId": "636482643132986882", "protectedItemType": "Microsoft.Compute/virtualMachines", - "backupManagementType": "AzureIaasVM", - "workloadType": "VM", - "containerName": "iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectionState": "ProtectionStopped", + "protectionStatus": "Healthy", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", - "lastRecoveryPoint": null + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "workloadType": "VM" } } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } } - } -} + }, + "operationId": "ProtectedItems_CreateOrUpdate", + "title": "Stop Protection with retain data on Azure IaasVm" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json index 1c97b4f13e6a..d44dd222cbe8 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -1,43 +1,45 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "AlternateLocation", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", - "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", - "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", - "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", - "region": "southeastasia", "createNewCloudService": false, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, "identityInfo": { "isSystemAssignedIdentity": true - } + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index a1af02de4fc5..ebb8e53899e8 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -1,45 +1,47 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "AlternateLocation", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", - "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", - "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", - "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", - "region": "southeastasia", "createNewCloudService": false, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" + }, "identityInfo": { "isSystemAssignedIdentity": true }, - "identityBasedRestoreDetails": { - "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" - } + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json index 64b2afb0f533..7868600a6b4d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -1,44 +1,46 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { + "createNewCloudService": false, + "encryptionDetails": { + "encryptionEnabled": false + }, "objectType": "IaasVMRestoreWithRehydrationRequest", + "originalStorageAccountOption": false, "recoveryPointId": "348916168024334", + "recoveryPointRehydrationInfo": { + "rehydrationPriority": "High", + "rehydrationRetentionDuration": "P7D" + }, "recoveryType": "AlternateLocation", + "region": "southeastasia", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", - "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", - "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", - "region": "southeastasia", - "createNewCloudService": false, - "originalStorageAccountOption": false, - "encryptionDetails": { - "encryptionEnabled": false - }, - "recoveryPointRehydrationInfo": { - "rehydrationRetentionDuration": "P7D", - "rehydrationPriority": "High" - } + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json index 0bc74675b8ff..b745b7429967 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json @@ -1,45 +1,47 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, "identityInfo": { "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" }, - "identityBasedRestoreDetails": { - "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" - }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", "resourceGuardOperationRequests": [ "/subscriptions/063bf7bc-e4dc-4cde-8840-8416fbd7921e/resourcegroups/ankurRG1/providers/Microsoft.DataProtection/resourceGuards/RG341/triggerRestoreRequests/default" - ] + ], + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore with Resource Guard Enabled" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json index 14b199b41050..abd4f9002fb5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -1,23 +1,11 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, @@ -25,20 +13,34 @@ "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", "targetDiskNetworkAccessSettings": { - "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks", - "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy" + "targetDiskAccessId": "/subscriptions/e7a191f5-713c-4bdb-b5e4-cf3dd90230ef/resourceGroups/arpja/providers/Microsoft.Compute/diskAccesses/arpja-diskaccess-ccy", + "targetDiskNetworkAccessOption": "EnablePrivateAccessForAllDisks" } } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index 0934381238be..c9a35e3070fb 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -1,42 +1,44 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, "identityInfo": { "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" }, - "identityBasedRestoreDetails": { - "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" - } + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json index d4c2ddcc3f13..e0bf8324f8cf 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -1,40 +1,42 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "properties": { - "objectType": "IaasVMRestoreWithRehydrationRequest", - "recoveryPointId": "348916168024334", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, + "objectType": "IaasVMRestoreWithRehydrationRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", "recoveryPointRehydrationInfo": { - "rehydrationRetentionDuration": "P7D", - "rehydrationPriority": "Standard" - } + "rehydrationPriority": "Standard", + "rehydrationRetentionDuration": "P7D" + }, + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Restores_Trigger", + "title": "Restore Disks with IaasVMRestoreWithRehydrationRequest" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json index 0b4b68853582..cfa2d41b8492 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -1,44 +1,46 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", - "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", "parameters": { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", "properties": { "objectType": "ValidateIaasVMRestoreOperationRequest", "restoreRequest": { - "recoveryPointId": "348916168024334", - "objectType": "IaasVMRestoreRequest", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, "identityInfo": { "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" - } + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" } } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", "Retry-After": 10 } } - } -} + }, + "operationId": "ValidateOperation_Trigger", + "title": "Trigger Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json index 91c07688703e..ea8b16499889 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -1,28 +1,12 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "v2-daily-sample", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", - "timeZone": "India Standard Time", "instantRpRetentionRangeInDays": 30, "policyType": "V2", - "snapshotConsistencyType": "OnlyCrashConsistent", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicyV2", - "scheduleRunFrequency": "Daily", - "dailySchedule": { - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ] - } - }, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { "retentionDuration": { "count": 180, @@ -32,18 +16,6 @@ "2021-12-17T08:00:00+00:00" ] }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - }, - "retentionTimes": [ - "2021-12-17T08:00:00+00:00" - ] - }, "monthlySchedule": { "retentionDuration": { "count": 60, @@ -63,6 +35,19 @@ "2021-12-17T08:00:00+00:00" ] }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, "yearlySchedule": { "monthsOfYear": [ "January" @@ -85,20 +70,35 @@ "2021-12-17T08:00:00+00:00" ] } - } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" } - } + }, + "policyName": "v2-daily-sample", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "properties": { "backupManagementType": "AzureIaasVM", "instantRpRetentionRangeInDays": 30, "policyType": "V2", - "snapshotConsistencyType": "OnlyCrashConsistent", "protectedItemsCount": 0, "resourceGuardOperationRequests": null, "retentionPolicy": { @@ -175,17 +175,19 @@ "schedulePolicyType": "SimpleSchedulePolicyV2", "scheduleRunFrequency": "Daily" }, + "snapshotConsistencyType": "OnlyCrashConsistent", "timeZone": "India Standard Time" - }, - "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } } }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Enhanced Azure Vm Protection Policy with daily backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json index c653577c039a..518db70d7abb 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -1,28 +1,12 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "v2-daily-sample", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureIaasVM", - "timeZone": "India Standard Time", "instantRpRetentionRangeInDays": 30, "policyType": "V2", - "snapshotConsistencyType": "OnlyCrashConsistent", - "schedulePolicy": { - "hourlySchedule": { - "interval": 4, - "scheduleWindowDuration": 16, - "scheduleWindowStartTime": "2021-12-17T08:00:00Z" - }, - "schedulePolicyType": "SimpleSchedulePolicyV2", - "scheduleRunFrequency": "Hourly" - }, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { "retentionDuration": { "count": 180, @@ -32,18 +16,6 @@ "2021-12-17T08:00:00+00:00" ] }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - }, - "retentionTimes": [ - "2021-12-17T08:00:00+00:00" - ] - }, "monthlySchedule": { "retentionDuration": { "count": 60, @@ -63,6 +35,19 @@ "2021-12-17T08:00:00+00:00" ] }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, "yearlySchedule": { "monthsOfYear": [ "January" @@ -85,20 +70,35 @@ "2021-12-17T08:00:00+00:00" ] } - } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "India Standard Time" } - } + }, + "policyName": "v2-daily-sample", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "properties": { "backupManagementType": "AzureIaasVM", "instantRpRetentionRangeInDays": 30, "policyType": "V2", - "snapshotConsistencyType": "OnlyCrashConsistent", "protectedItemsCount": 0, "resourceGuardOperationRequests": null, "retentionPolicy": { @@ -175,17 +175,19 @@ "schedulePolicyType": "SimpleSchedulePolicyV2", "scheduleRunFrequency": "Hourly" }, + "snapshotConsistencyType": "OnlyCrashConsistent", "timeZone": "India Standard Time" - }, - "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } } }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json index f1bb9b373c14..4674be22554e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -1,22 +1,35 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "policyName": "v2-daily-sample", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "name": "v2-daily-sample", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", "properties": { "backupManagementType": "AzureIaasVM", "instantRpRetentionRangeInDays": 30, "policyType": "V2", - "snapshotConsistencyType": "OnlyCrashConsistent", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "dailySchedule": { "scheduleRunTimes": [ @@ -26,23 +39,12 @@ "schedulePolicyType": "SimpleSchedulePolicyV2", "scheduleRunFrequency": "Daily" }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0, - "resourceGuardOperationRequests": null + "snapshotConsistencyType": "OnlyCrashConsistent", + "timeZone": "Pacific Standard Time" } } } - } -} + }, + "operationId": "ProtectionPolicies_Get", + "title": "Get Azure IaasVm Enhanced Protection Policy Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json index 2c877c341601..baf1f5359dff 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -1,21 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "backupManagementType eq 'AzureIaasVM'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureIaasVM'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", "name": "DefaultPolicy", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -23,28 +36,28 @@ "2017-12-05T19:00:00Z" ], "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2017-12-05T19:00:00Z" - ], - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } - }, - "protectedItemsCount": 0 + } } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureIaasVM", + "protectedItemsCount": 0, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Days" + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -53,55 +66,44 @@ ], "scheduleWeeklyFrequency": 0 }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Days" - } - } - }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "timeZone": "Pacific Standard Time" } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", "name": "v2-daily-policy", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", "properties": { "backupManagementType": "AzureIaasVM", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicyV2", - "scheduleRunFrequency": "Daily", - "dailySchedule": { - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ] - } - }, + "protectedItemsCount": 0, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2018-01-24T02:00:00Z" - ], "retentionDuration": { "count": 1, "durationType": "Days" - } - } + }, + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" }, - "timeZone": "Pacific Standard Time", - "protectedItemsCount": 0 + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "timeZone": "Pacific Standard Time" } } ] } } - } -} + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json index e6c6532da676..fba6722c8ee9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json @@ -1,19 +1,12 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", - "Retry-After": 10 - } - }, "200": { "body": { "validateOperationResponse": { @@ -28,6 +21,15 @@ ] } } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-03-01", + "Retry-After": 10 + } } - } -} + }, + "operationId": "ValidateOperationResults_Get", + "title": "Get Operation Results of Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json index 89f3bd0e7f6d..fd9547117144 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json @@ -1,20 +1,17 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", - "status": "Succeeded", - "startTime": "2017-10-29T06:04:18.207325Z", "endTime": "2017-10-29T06:04:18.207325Z", + "id": "00000000-0000-0000-0000-000000000000", "properties": { "objectType": "OperationStatusValidateOperationExtendedInfo", "validateOperationResponse": { @@ -28,8 +25,13 @@ } ] } - } - } + }, + "startTime": "2017-10-29T06:04:18.207325Z", + "status": "Succeeded" + }, + "headers": {} } - } -} + }, + "operationId": "ValidateOperationStatuses_Get", + "title": "Get Operation Status of Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json index 0e86edf05ece..5d312ffaff89 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -1,40 +1,39 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", - "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", "parameters": { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", "properties": { "objectType": "ValidateIaasVMRestoreOperationRequest", "restoreRequest": { - "recoveryPointId": "348916168024334", - "objectType": "IaasVMRestoreRequest", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, "identityInfo": { "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" - } + }, + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" } } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { - "headers": {}, "body": { "validateOperationResponse": { "validationResults": [ @@ -47,7 +46,10 @@ } ] } - } + }, + "headers": {} } - } -} + }, + "operationId": "Operation_Validate", + "title": "Validate Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json index 05ded299a80d..5f9c1222e077 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -1,42 +1,41 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", - "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testRG;testvmName", + "fabricName": "Azure", "parameters": { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVault/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testvmName/protectedItems/VM;iaasvmcontainerv2;testRG;testvmName/recoveryPoints/348916168024334", "properties": { "objectType": "ValidateIaasVMRestoreOperationRequest", "restoreRequest": { - "recoveryPointId": "348916168024334", - "objectType": "IaasVMRestoreRequest", - "recoveryType": "RestoreDisks", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", - "region": "southeastasia", "createNewCloudService": true, - "originalStorageAccountOption": false, "encryptionDetails": { "encryptionEnabled": false }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + }, "identityInfo": { "isSystemAssignedIdentity": false, "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" }, - "identityBasedRestoreDetails": { - "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" - } + "objectType": "IaasVMRestoreRequest", + "originalStorageAccountOption": false, + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "region": "southeastasia", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1" } } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testRG;testvmName", + "recoveryPointId": "348916168024334", + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { - "headers": {}, "body": { "validateOperationResponse": { "validationResults": [ @@ -49,7 +48,10 @@ } ] } - } + }, + "headers": {} } - } -} + }, + "operationId": "Operation_Validate", + "title": "Validate Operation with identityBasedRestoreDetails" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json index 9f25be8aaed8..a1f8a6f6f936 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json @@ -1,42 +1,44 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testvault", - "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", "name": "StorageContainer;storage;test-rg;testst", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", "properties": { - "friendlyName": "teststorage", "backupManagementType": "AzureStorage", - "protectableContainerType": "StorageContainer", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage", + "friendlyName": "teststorage", "healthStatus": "Healthy", - "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + "protectableContainerType": "StorageContainer" } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", "name": "StorageContainer;ClassicStorage;test-rg;teststorage", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", "properties": { - "friendlyName": "teststorage", "backupManagementType": "AzureStorage", - "protectableContainerType": "StorageContainer", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage", + "friendlyName": "teststorage", "healthStatus": "Healthy", - "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + "protectableContainerType": "StorageContainer" } } ] } } - } -} + }, + "operationId": "ProtectableContainers_List", + "title": "List protectable items with backupManagementType filter as AzureStorage" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json index 7b7305895559..b3d4d51fc821 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -1,19 +1,21 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "testvault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "storagecontainer;Storage;test-rg;teststorage", - "api-version": "2025-02-01" + "fabricName": "Azure", + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionContainers_Inquire", + "title": "Inquire Azure Storage Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json index 2cff12a5451e..6823245234be 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -1,33 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "testvault", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;testRG;testSQL", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "fabricName": "Azure", + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault" }, "responses": { - "204": {}, - "202": { - "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", - "Retry-After": 60 - } - }, "200": { "body": { "name": "VMAppContainer;Compute;testRG;testSQL", - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", "properties": { + "backupManagementType": "AzureWorkload", + "containerType": "VMAppContainer", "extendedInfo": { "hostServerName": "testsql", - "nodesList": [], "inquiryInfo": { - "status": "Success", "errorDetail": { "code": "Success", "message": "Not Available", @@ -38,28 +30,38 @@ "inquiryDetails": [ { "type": "sql", - "itemCount": 14, "inquiryValidation": { - "status": "Success", "errorDetail": { "code": "Success", "message": "Not Available", "recommendations": [ "Not Available" ] - } - } + }, + "status": "Success" + }, + "itemCount": 14 } - ] - } + ], + "status": "Success" + }, + "nodesList": [] }, + "friendlyName": "testSQL", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "backupManagementType": "AzureWorkload", - "workloadType": null, - "containerType": "VMAppContainer", - "friendlyName": "testSQL" + "workloadType": null } } - } - } -} + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + }, + "operationId": "ProtectionContainerOperationResults_Get", + "title": "Get Azure Storage Protection Container Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json index 7c4f85a5755e..d91b46fb4010 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json @@ -1,32 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", + "$filter": "backupManagementType eq 'AzureWorkload'", "api-version": "2025-02-01", "fabricName": "Azure", - "$filter": "backupManagementType eq 'AzureWorkload'" + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", "name": "StorageContainer;Storage;testrg;suchandrtestsa125", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", "properties": { - "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", - "protectedItemCount": 2, - "friendlyName": "suchandrtestsa125", "backupManagementType": "AzureStorage", - "registrationStatus": "Registered", + "containerType": "StorageContainer", + "friendlyName": "suchandrtestsa125", "healthStatus": "Healthy", - "containerType": "StorageContainer" + "protectedItemCount": 2, + "registrationStatus": "Registered", + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125" } } ] } } - } -} + }, + "operationId": "BackupProtectionContainers_List", + "title": "List Backup Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json index 472ce53465a8..7cafd6a2a47c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -1,44 +1,46 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "swaggertestvault", - "fabricName": "Azure", - "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", "api-version": "2025-02-01", + "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "fabricName": "Azure", "parameters": { "properties": { - "friendlyName": "swaggertestsa", + "acquireStorageAccountLock": "Acquire", "backupManagementType": "AzureStorage", - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", "containerType": "StorageContainer", - "acquireStorageAccountLock": "Acquire" + "friendlyName": "swaggertestsa", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa" } - } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" }, "responses": { - "202": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", - "Retry-After": 60 - } - }, "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", "properties": { - "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", - "protectedItemCount": 0, "acquireStorageAccountLock": "Acquire", - "friendlyName": "swaggertestsa", "backupManagementType": "AzureStorage", - "registrationStatus": "Registered", + "containerType": "StorageContainer", + "friendlyName": "swaggertestsa", "healthStatus": "Healthy", - "containerType": "StorageContainer" + "protectedItemCount": 0, + "registrationStatus": "Registered", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa" } } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } } - } -} + }, + "operationId": "ProtectionContainers_Register", + "title": "RegisterAzure Storage ProtectionContainers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json index 43fc6eb1fb45..367b6fc905ec 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -1,48 +1,26 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "swaggertestvault", - "policyName": "dailyPolicy2", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureStorage", - "workLoadType": "AzureFileShare", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2021-09-29T08:00:00.000Z" - ] - }, - "timeZone": "UTC", "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2021-09-29T08:00:00.000Z" - ], "retentionDuration": { "count": 5, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], + }, "retentionTimes": [ "2021-09-29T08:00:00.000Z" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + ] }, "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -53,18 +31,31 @@ }, "retentionTimes": [ "2021-09-29T08:00:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -75,56 +66,49 @@ }, "retentionTimes": [ "2021-09-29T08:00:00.000Z" - ], - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + ] } - } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "timeZone": "UTC", + "workLoadType": "AzureFileShare" } - } + }, + "policyName": "dailyPolicy2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", "name": "dailyPolicy2", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", "properties": { "backupManagementType": "AzureStorage", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Daily", - "scheduleRunTimes": [ - "2021-09-29T08:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, + "protectedItemsCount": 0, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2021-09-29T08:00:00Z" - ], "retentionDuration": { "count": 5, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], + }, "retentionTimes": [ "2021-09-29T08:00:00Z" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + ] }, "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -136,17 +120,30 @@ }, "retentionTimes": [ "2021-09-29T08:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -157,24 +154,29 @@ }, "retentionTimes": [ "2021-09-29T08:00:00Z" - ], - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + ] } }, - "timeZone": "UTC", - "protectedItemsCount": 0 + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "UTC" } } }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Daily Azure Storage Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json index cfa39b188c91..18b2315048f8 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -1,14 +1,9 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "swaggertestvault", - "policyName": "newPolicyV2", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureStorage", - "workLoadType": "AzureFileShare", "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -20,31 +15,22 @@ "vaultRetentionPolicy": { "snapshotRetentionInDays": 5, "vaultRetention": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2023-07-18T09:30:00.000Z" - ], "retentionDuration": { "count": 30, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], + }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + ] }, "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -55,18 +41,31 @@ }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -77,25 +76,27 @@ }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" - ], - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + ] } } - } + }, + "workLoadType": "AzureFileShare" } - } + }, + "policyName": "newPolicyV2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2", "name": "newPolicyV2", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2", "properties": { "backupManagementType": "AzureStorage", + "protectedItemsCount": 0, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -103,34 +104,26 @@ "2023-07-18T09:30:00.000Z" ] }, + "timeZone": "UTC", "vaultRetentionPolicy": { "snapshotRetentionInDays": 5, "vaultRetention": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2023-07-18T09:30:00.000Z" - ], "retentionDuration": { "count": 30, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], + }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + ] }, "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -141,18 +134,31 @@ }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2023-07-18T09:30:00.000Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -163,25 +169,21 @@ }, "retentionTimes": [ "2023-07-18T09:30:00.000Z" - ], - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + ] } } - }, - "timeZone": "UTC", - "protectedItemsCount": 0 + } } } }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operations/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicyV2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Azure Storage Vault Standard Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json index b93058bd84f2..75be106ff651 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -1,46 +1,24 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "swaggertestvault", - "policyName": "newPolicy2", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureStorage", - "workLoadType": "AzureFileShare", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Hourly", - "hourlySchedule": { - "interval": 4, - "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z", - "scheduleWindowDuration": 12 - } - }, - "timeZone": "UTC", "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": null, "retentionDuration": { "count": 5, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], - "retentionTimes": null, - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + }, + "retentionTimes": null }, "monthlySchedule": { - "retentionScheduleFormatType": "Weekly", + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -49,18 +27,29 @@ "First" ] }, - "retentionTimes": null, + "retentionTimes": null + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": null }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -69,58 +58,51 @@ "First" ] }, - "retentionTimes": null, - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + "retentionTimes": null } - } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 12, + "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z" + }, + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly" + }, + "timeZone": "UTC", + "workLoadType": "AzureFileShare" } - } + }, + "policyName": "newPolicy2", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "swaggertestvault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", "name": "newPolicy2", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", "properties": { "backupManagementType": "AzureStorage", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Hourly", - "hourlySchedule": { - "interval": 4, - "scheduleWindowStartTime": "2021-09-29T08:00:00Z", - "scheduleWindowDuration": 12 - }, - "scheduleWeeklyFrequency": 0 - }, + "protectedItemsCount": 0, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", "dailySchedule": { - "retentionTimes": [ - "2021-09-29T20:00:00Z" - ], "retentionDuration": { "count": 5, "durationType": "Days" - } - }, - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday" - ], + }, "retentionTimes": [ "2021-09-29T20:00:00Z" - ], - "retentionDuration": { - "count": 12, - "durationType": "Weeks" - } + ] }, "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -132,17 +114,30 @@ }, "retentionTimes": [ "2021-09-29T20:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" ], "retentionDuration": { - "count": 60, - "durationType": "Months" - } + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January" ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -153,24 +148,31 @@ }, "retentionTimes": [ "2021-09-29T20:00:00Z" - ], - "retentionDuration": { - "count": 10, - "durationType": "Years" - } + ] } }, - "timeZone": "UTC", - "protectedItemsCount": 0 + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 12, + "scheduleWindowStartTime": "2021-09-29T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "scheduleWeeklyFrequency": 0 + }, + "timeZone": "UTC" } } }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Hourly Azure Storage Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json index e015ecb4bd20..a0f7e187feb4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json @@ -1,32 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", + "$filter": "backupManagementType eq 'AzureWorkload'", "api-version": "2025-02-01", "fabricName": "Azure", - "$filter": "backupManagementType eq 'AzureWorkload'" + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", "name": "StorageContainer;Storage;testrg;suchandrtestsa125", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", "properties": { - "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", - "protectedItemCount": 2, - "friendlyName": "suchandrtestsa125", "backupManagementType": "AzureStorage", - "registrationStatus": "SoftDeleted", + "containerType": "StorageContainer", + "friendlyName": "suchandrtestsa125", "healthStatus": "Healthy", - "containerType": "StorageContainer" + "protectedItemCount": 2, + "registrationStatus": "SoftDeleted", + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125" } } ] } } - } -} + }, + "operationId": "DeletedProtectionContainers_List", + "title": "List Backup Protection Containers" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json index 1ad3142f19a5..3d425d93452b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json @@ -1,29 +1,41 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "backupManagementType eq 'AzureWorkload'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureWorkload'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", "name": "HourlyLogBackup", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", "properties": { "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", + "protectedItemsCount": 0, "settings": { - "timeZone": "UTC", - "issqlcompression": false + "issqlcompression": false, + "timeZone": "UTC" }, "subProtectionPolicy": [ { "policyType": "Full", + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 30, + "durationType": "Days" + }, + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunFrequency": "Daily", @@ -31,40 +43,30 @@ "2017-12-05T19:00:00Z" ], "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "dailySchedule": { - "retentionTimes": [ - "2017-12-05T19:00:00Z" - ], - "retentionDuration": { - "count": 30, - "durationType": "Days" - } - } } }, { "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", "retentionDuration": { "count": 30, "durationType": "Days" - } + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" } } ], - "protectedItemsCount": 0 + "workLoadType": "SQLDataBase" } } ] } } - } -} + }, + "operationId": "BackupPolicies_List", + "title": "List protection policies with backupManagementType filter as AzureWorkload" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json index ac68e3818978..a6f26abd46a0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -1,14 +1,16 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myRG", - "vaultName": "myVault", + "api-version": "2025-02-01", "fabricName": "Azure", "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", - "api-version": "2025-02-01", - "parameters": {} + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" }, "responses": { "204": {} - } -} + }, + "operationId": "ProtectionIntent_Delete", + "title": "Delete Protection intent from item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json index 72cb278b4084..0c0773d2a4f4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -1,26 +1,28 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myRG", - "vaultName": "myVault", + "api-version": "2025-02-01", "fabricName": "Azure", "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", - "api-version": "2025-02-01", - "parameters": {} + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", "name": "249D9B07-D2EF-4202-AA64-65F35418564E", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", "properties": { - "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", "backupManagementType": "AzureWorkload", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", - "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent" } } } - } -} + }, + "operationId": "ProtectionIntent_Get", + "title": "Get ProtectionIntent for an item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json index afabd18ce2b9..ee6737984925 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -1,28 +1,30 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myRG", - "vaultName": "myVault", "api-version": "2025-02-01", - "parameters": {} + "parameters": {}, + "resourceGroupName": "myRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "myVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", "name": "249D9B07-D2EF-4202-AA64-65F35418564E", "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", "properties": { - "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", "backupManagementType": "AzureWorkload", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER", "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", - "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent" } } ] } } - } -} + }, + "operationId": "BackupProtectionIntent_List", + "title": "List protection intent with backupManagementType filter" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json index 2ad0a59d6ea7..c0a492ea572e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -1,22 +1,24 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "suchandr-seacan-rsv", - "api-version": "2025-02-01", "$filter": "backupManagementType eq 'AzureWorkload'", + "api-version": "2025-02-01", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1", "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "suchandr-seacan-rsv" }, "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", "name": "SQLInstance;MSSQLSERVER", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", "properties": { + "backupManagementType": "AzureWorkload", "dataDirectoryPaths": [ { "type": "Data", @@ -27,21 +29,21 @@ "path": "F:\\LOG\\" } ], + "friendlyName": "MSSQLSERVER", + "isAutoProtectable": true, "parentName": "MSSQLSERVER", + "protectionState": "NotProtected", "serverName": "sqlserver-1.contoso.com", - "isAutoProtectable": true, - "subinquireditemcount": 0, "subWorkloadItemCount": 3, - "backupManagementType": "AzureWorkload", - "workloadType": "SQL", + "subinquireditemcount": 0, "workloadItemType": "SQLInstance", - "friendlyName": "MSSQLSERVER", - "protectionState": "NotProtected" + "workloadType": "SQL" } } - ], - "nextLink": null + ] } } - } -} + }, + "operationId": "BackupWorkloadItems_List", + "title": "List Workload Items in Container" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json index 4e336f74241c..f31b4daa8568 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -1,25 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "VMAppContainer;Compute;testRG;testSQL", + "$filter": "backupManagementType eq 'AzureWorkload'", "api-version": "2025-02-01", - "$filter": "backupManagementType eq 'AzureWorkload'" + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "fabricName": "Azure", + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "name": "VMAppContainer;Compute;testRG;testSQL", - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", "properties": { + "backupManagementType": "AzureWorkload", + "containerType": "VMAppContainer", "extendedInfo": { "hostServerName": "testsql", - "nodesList": [], "inquiryInfo": { - "status": "Success", "errorDetail": { "code": "Success", "message": "Not Available", @@ -30,28 +30,30 @@ "inquiryDetails": [ { "type": "sql", - "itemCount": 14, "inquiryValidation": { - "status": "Success", "errorDetail": { "code": "Success", "message": "Not Available", "recommendations": [ "Not Available" ] - } - } + }, + "status": "Success" + }, + "itemCount": 14 } - ] - } + ], + "status": "Success" + }, + "nodesList": [] }, + "friendlyName": "testSQL", "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", - "backupManagementType": "AzureWorkload", - "workloadType": null, - "containerType": "VMAppContainer", - "friendlyName": "testSQL" + "workloadType": null } } } - } -} + }, + "operationId": "ProtectionContainers_Get", + "title": "Get Protection Container Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json index 5288dc6047e4..5dbe39b6c55d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -1,21 +1,23 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRg", - "vaultName": "testVault", "api-version": "2025-02-01", + "containerName": "storagecontainer;Storage;test-rg;teststorage", "fabricName": "Azure", - "containerName": "storagecontainer;Storage;test-rg;teststorage" + "resourceGroupName": "testRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": {}, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } }, "204": {} - } -} + }, + "operationId": "ProtectionContainers_Unregister", + "title": "Unregister Protection Container" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json index b94409661b6f..1325625901c1 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -1,48 +1,22 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "policyName": "testPolicy1", "api-version": "2025-02-01", "parameters": { "properties": { "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", "settings": { - "timeZone": "Pacific Standard Time", - "issqlcompression": false + "issqlcompression": false, + "timeZone": "Pacific Standard Time" }, "subProtectionPolicy": [ { "policyType": "Full", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Sunday", - "Tuesday" - ] - }, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday", - "Tuesday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Weeks" - } - }, "monthlySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -54,19 +28,33 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" ], "retentionDuration": { - "count": 1, - "durationType": "Months" - } + "count": 2, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January", "June", "December" ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -77,96 +65,86 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Years" - } + ] } - } - }, - { - "policyType": "Differential", + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], "scheduleRunFrequency": "Weekly", "scheduleRunTimes": [ "2018-01-24T10:00:00Z" - ], - "scheduleRunDays": [ - "Friday" ] - }, + } + }, + { + "policyType": "Differential", "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", "retentionDuration": { "count": 8, "durationType": "Days" - } + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] } }, { "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", "retentionDuration": { "count": 7, "durationType": "Days" - } + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" } } - ] + ], + "workLoadType": "SQLDataBase" } - } + }, + "policyName": "testPolicy1", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "name": "testPolicy1", "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", "properties": { "backupManagementType": "AzureWorkload", - "workLoadType": "SQLDataBase", + "protectedItemsCount": 0, "settings": { - "timeZone": "Pacific Standard Time", - "issqlcompression": false + "issqlcompression": false, + "timeZone": "Pacific Standard Time" }, "subProtectionPolicy": [ { "policyType": "Full", - "schedulePolicy": { - "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", - "scheduleRunDays": [ - "Sunday", - "Tuesday" - ], - "scheduleRunTimes": [ - "2018-01-24T10:00:00Z" - ], - "scheduleWeeklyFrequency": 0 - }, "retentionPolicy": { - "retentionPolicyType": "LongTermRetentionPolicy", - "weeklySchedule": { - "daysOfTheWeek": [ - "Sunday", - "Tuesday" - ], - "retentionTimes": [ - "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 2, - "durationType": "Weeks" - } - }, "monthlySchedule": { + "retentionDuration": { + "count": 1, + "durationType": "Months" + }, "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ @@ -178,19 +156,33 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" ], "retentionDuration": { - "count": 1, - "durationType": "Months" - } + "count": 2, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ] }, "yearlySchedule": { - "retentionScheduleFormatType": "Weekly", "monthsOfYear": [ "January", "June", "December" ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + }, + "retentionScheduleFormatType": "Weekly", "retentionScheduleWeekly": { "daysOfTheWeek": [ "Sunday" @@ -201,60 +193,70 @@ }, "retentionTimes": [ "2018-01-24T10:00:00Z" - ], - "retentionDuration": { - "count": 1, - "durationType": "Years" - } + ] } + }, + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 } }, { "policyType": "Differential", + "retentionPolicy": { + "retentionDuration": { + "count": 8, + "durationType": "Days" + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", - "scheduleRunFrequency": "Weekly", "scheduleRunDays": [ "Friday" ], + "scheduleRunFrequency": "Weekly", "scheduleRunTimes": [ "2018-01-24T10:00:00Z" ], "scheduleWeeklyFrequency": 0 - }, - "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", - "retentionDuration": { - "count": 8, - "durationType": "Days" - } } }, { "policyType": "Log", - "schedulePolicy": { - "schedulePolicyType": "LogSchedulePolicy", - "scheduleFrequencyInMins": 60 - }, "retentionPolicy": { - "retentionPolicyType": "SimpleRetentionPolicy", "retentionDuration": { "count": 7, "durationType": "Days" - } + }, + "retentionPolicyType": "SimpleRetentionPolicy" + }, + "schedulePolicy": { + "scheduleFrequencyInMins": 60, + "schedulePolicyType": "LogSchedulePolicy" } } ], - "protectedItemsCount": 0 + "workLoadType": "SQLDataBase" } } }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionPolicies_CreateOrUpdate", + "title": "Create or Update Full Azure Workload Protection Policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json index 1b07b3c8289a..06eef8be52d5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "sourceRG", - "vaultName": "source-rsv", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" }, "responses": { "200": { "body": { - "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "status": "Succeeded", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "startTime": "2020-02-27T11:59:47.5901592Z", - "endTime": "2020-02-27T11:59:47.5901592Z" + "status": "Succeeded" } } - } -} + }, + "operationId": "GetOperationStatus", + "title": "Get OperationStatus" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json index dc2a1774adc8..c7b569e2e1f6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -1,23 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "sourceRG", - "vaultName": "source-rsv", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" }, "responses": { + "200": { + "body": { + "objectType": "PrepareDataMoveResponse" + } + }, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", "Retry-After": 60 } - }, - "200": { - "body": { - "objectType": "PrepareDataMoveResponse" - } } - } -} + }, + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "title": "Get operation result for PrepareDataMove" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json index 64bfbc20327c..d28605b93d5d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -1,23 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "sourceRG", - "vaultName": "source-rsv", "api-version": "2025-02-01", "parameters": { - "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "dataMoveLevel": "Vault", "targetRegion": "USGov Virginia", - "dataMoveLevel": "Vault" - } + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv" + }, + "resourceGroupName": "sourceRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" }, "responses": { "200": {}, "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", "Retry-After": 60 } } - } -} + }, + "operationId": "BMSPrepareDataMove", + "title": "Prepare Data Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json index f41a402b5711..da71ab067a4f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -1,15 +1,15 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "targetRG", - "vaultName": "target-rsv", "api-version": "2025-02-01", "parameters": { - "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", - "sourceRegion": "USGov Iowa", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=", "dataMoveLevel": "Vault", - "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" - } + "sourceRegion": "USGov Iowa", + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv" + }, + "resourceGroupName": "targetRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "target-rsv" }, "responses": { "200": {}, @@ -19,5 +19,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "BMSTriggerDataMove", + "title": "Trigger Data Move" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json index 00419109781c..5acfbdcda428 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json @@ -1,27 +1,29 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "rishgrp", - "vaultName": "rishTestVault", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "rishTestVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", "name": "backupResourceEncryptionConfig", "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", "properties": { - "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", - "useSystemAssignedIdentity": false, "encryptionAtRestType": "CustomerManaged", + "infrastructureEncryptionState": "Disabled", "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", - "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", "lastUpdateStatus": "Succeeded", - "infrastructureEncryptionState": "Disabled" + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "useSystemAssignedIdentity": false, + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" } - } + }, + "headers": {} } - } -} + }, + "operationId": "BackupResourceEncryptionConfigs_Get", + "title": "Get Vault Encryption Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json index a16f3fd04d3d..2cf0a3fcd25e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json @@ -1,19 +1,21 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "test-rg", - "vaultName": "source-rsv", "api-version": "2025-02-01", "parameters": { "properties": { "encryptionAtRestType": "CustomerManaged", + "infrastructureEncryptionState": "true", "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", - "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", - "infrastructureEncryptionState": "true" + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b" } - } + }, + "resourceGroupName": "test-rg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "source-rsv" }, "responses": { "200": {} - } -} + }, + "operationId": "BackupResourceEncryptionConfigs_Update", + "title": "Update Vault Encryption Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json index ad58567b3e84..cc583d40aafa 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -1,62 +1,64 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", + "$filter": "type eq 'BackupProtectedItemCountSummary'", "api-version": "2025-02-01", - "$filter": "type eq 'BackupProtectedItemCountSummary'" + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "value": [ { - "unit": "Count", + "name": { + "localizedValue": "Azure Virtual Machine", + "value": "AzureIaasVM" + }, "currentValue": 7, "limit": -1, - "name": { - "value": "AzureIaasVM", - "localizedValue": "Azure Virtual Machine" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "Azure Backup Agent", + "value": "MAB" + }, "currentValue": 3, "limit": -1, - "name": { - "value": "MAB", - "localizedValue": "Azure Backup Agent" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "Azure Backup Server", + "value": "AzureBackupServer" + }, "currentValue": 1, "limit": -1, - "name": { - "value": "AzureBackupServer", - "localizedValue": "Azure Backup Server" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "Azure Storage (Azure Files)", + "value": "AzureStorage" + }, "currentValue": 2, "limit": -1, - "name": { - "value": "AzureStorage", - "localizedValue": "Azure Storage (Azure Files)" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "SQL in Azure VM", + "value": "AzureWorkload" + }, "currentValue": 2, "limit": -1, - "name": { - "value": "AzureWorkload", - "localizedValue": "SQL in Azure VM" - } + "unit": "Count" } ] } } - } -} + }, + "operationId": "BackupUsageSummaries_List", + "title": "Get Protected Items Usages Summary" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json index 93879f7999f4..69edfde4f569 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -1,44 +1,46 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", + "$filter": "type eq 'BackupProtectionContainerCountSummary'", "api-version": "2025-02-01", - "$filter": "type eq 'BackupProtectionContainerCountSummary'" + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "value": [ { - "unit": "Count", + "name": { + "localizedValue": "Azure Backup Server", + "value": "AzureBackupServer" + }, "currentValue": 2, "limit": -1, - "name": { - "value": "AzureBackupServer", - "localizedValue": "Azure Backup Server" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "Azure Backup Agent", + "value": "MAB" + }, "currentValue": 3, "limit": -1, - "name": { - "value": "MAB", - "localizedValue": "Azure Backup Agent" - } + "unit": "Count" }, { - "unit": "Count", + "name": { + "localizedValue": "SQL in Azure VM", + "value": "AzureWorkload" + }, "currentValue": 1, "limit": -1, - "name": { - "value": "AzureWorkload", - "localizedValue": "SQL in Azure VM" - } + "unit": "Count" } ] } } - } -} + }, + "operationId": "BackupUsageSummaries_List", + "title": "Get Protected Containers Usages Summary" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json index 8ce61ed295c2..83349c9b35a9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "name": "vaultconfig", "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "properties": { "enhancedSecurityState": "Enabled" } } } - } -} + }, + "operationId": "BackupResourceVaultConfigs_Get", + "title": "Get Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json index a65a304bcc5c..ac592504f86b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -1,25 +1,27 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", "api-version": "2025-02-01", "parameters": { "properties": { "enhancedSecurityState": "Enabled" } - } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "name": "vaultconfig", "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "properties": { "enhancedSecurityState": "Enabled" } } } - } -} + }, + "operationId": "BackupResourceVaultConfigs_Update", + "title": "Update Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json index 4e8a71e77246..5d43e037a08e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -1,27 +1,29 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", "api-version": "2025-02-01", "parameters": { "properties": { "enhancedSecurityState": "Enabled", "softDeleteFeatureState": "Enabled" } - } + }, + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" }, "responses": { "200": { "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "name": "vaultconfig", "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", "properties": { "enhancedSecurityState": "Enabled", "softDeleteFeatureState": "Enabled" } } } - } -} + }, + "operationId": "BackupResourceVaultConfigs_Put", + "title": "Update Vault Security Config" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json index 13d77a15287a..64ed717c7bb0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json @@ -1,17 +1,19 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "SwaggerTestRg", - "vaultName": "SwaggerTest", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "SwaggerTest" }, "responses": { "200": { "body": { - "token": "200432", - "expiryTimeInUtcTicks": 636495150137443121, - "securityPIN": "200432" + "expiryTimeInUtcTicks": 636495150137443100, + "securityPIN": "200432", + "token": "200432" } } - } -} + }, + "operationId": "SecurityPINs_Get", + "title": "Get Vault Security Pin" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json index f90946c42e72..f470f4d6393c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json @@ -1,23 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", "name": "vaultstorageconfig", "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", "properties": { "storageModelType": "GeoRedundant", "storageType": "GeoRedundant", "storageTypeState": "Locked" } - } + }, + "headers": {} } - } -} + }, + "operationId": "BackupResourceStorageConfigsNonCRR_Get", + "title": "Get Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json index 09f8d93a3419..4a0e8f076d7a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json @@ -1,17 +1,19 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", "api-version": "2025-02-01", "parameters": { "properties": { "storageType": "LocallyRedundant", "storageTypeState": "Unlocked" } - } + }, + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "204": {} - } -} + }, + "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "title": "Update Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json index 453a4ffa6c53..4389855de670 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json @@ -1,29 +1,31 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", "api-version": "2025-02-01", "parameters": { "properties": { "storageType": "LocallyRedundant", "storageTypeState": "Unlocked" } - } + }, + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", "name": "vaultstorageconfig", "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", "properties": { "storageModelType": "LocallyRedundant", "storageType": "LocallyRedundant", "storageTypeState": "Unlocked" } - } + }, + "headers": {} } - } -} + }, + "operationId": "BackupResourceStorageConfigsNonCRR_Update", + "title": "Update Vault Storage Configuration" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json index 9c1d289138bd..89f58dd0ab29 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "jobName": "00000000-0000-0000-0000-000000000000", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "jobName": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { - "204": {}, "200": {}, "202": { "headers": { "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", "Retry-After": 60 } - } - } -} + }, + "204": {} + }, + "operationId": "JobOperationResults_Get", + "title": "Cancel Job Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json index 2e60cf0c2f4c..4820d7666322 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json @@ -1,32 +1,25 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { + "headers": {}, "operation": { - "objectType": "ExportJobsOperationResultInfo", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r", "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", - "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" - }, - "headers": {} - } + "objectType": "ExportJobsOperationResultInfo" + } + }, + "headers": {} }, "202": { - "headers": { - "Retry-After": 60, - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" - }, "body": { - "operation": { - "objectType": "ExportJobsOperationResultInfo" - }, "headers": { "Location": [ "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" @@ -34,8 +27,17 @@ "Retry-After": [ "60" ] + }, + "operation": { + "objectType": "ExportJobsOperationResultInfo" } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 } } - } -} + }, + "operationId": "ExportJobsOperationResults_Get", + "title": "Export Jobs Operation Results" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json index 33b2c6743247..5966b76cb640 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json @@ -1,46 +1,48 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT9.8782791S", - "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", "extendedInfo": { + "propertyBag": { + "VM Name": "testvm" + }, "tasksList": [ { - "taskId": "Take Snapshot", "duration": "PT0S", - "status": "InProgress" + "status": "InProgress", + "taskId": "Take Snapshot" }, { - "taskId": "Transfer data to vault", "duration": "PT0S", - "status": "NotStarted" + "status": "NotStarted", + "taskId": "Transfer data to vault" } - ], - "propertyBag": { - "VM Name": "testvm" - } + ] }, - "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "Backup", - "status": "InProgress", "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "InProgress", + "virtualMachineVersion": "Compute" } } } - } -} + }, + "operationId": "JobDetails_Get", + "title": "Get Job Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json index e32f912d6d51..88e394b25674 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json @@ -1,49 +1,51 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "Backup", - "status": "InProgress", "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "InProgress", + "virtualMachineVersion": "Compute" } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT31.3066291S", - "virtualMachineVersion": "Compute", + "endTime": "2017-08-03T05:31:03.7553376Z", "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "ConfigureBackup", - "status": "Completed", "startTime": "2017-08-03T05:30:32.4487085Z", - "endTime": "2017-08-03T05:31:03.7553376Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "Completed", + "virtualMachineVersion": "Compute" } } ] } } - } -} + }, + "operationId": "BackupJobs_List", + "title": "List All Jobs" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json index 0dcf1df119a8..38ea4228ee98 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -1,33 +1,35 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'", "api-version": "2025-02-01", - "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "Backup", - "status": "InProgress", "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "InProgress", + "virtualMachineVersion": "Compute" } } ] } } - } -} + }, + "operationId": "BackupJobs_List", + "title": "List Jobs With Filters" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json index 1e946340ee04..f6d6cdf98971 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -1,51 +1,53 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'", "api-version": "2025-02-01", - "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "200": { "body": { + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e", "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "Backup", - "status": "InProgress", "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "InProgress", + "virtualMachineVersion": "Compute" } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", "properties": { - "jobType": "AzureIaaSVMJob", + "activityId": "00000000-0000-0000-0000-000000000000", + "backupManagementType": "AzureIaasVM", "duration": "PT31.3066291S", - "virtualMachineVersion": "Compute", + "endTime": "2017-08-03T05:31:03.7553376Z", "entityFriendlyName": "testvm", - "backupManagementType": "AzureIaasVM", + "jobType": "AzureIaaSVMJob", "operation": "ConfigureBackup", - "status": "Completed", "startTime": "2017-08-03T05:30:32.4487085Z", - "endTime": "2017-08-03T05:31:03.7553376Z", - "activityId": "00000000-0000-0000-0000-000000000000" + "status": "Completed", + "virtualMachineVersion": "Compute" } } - ], - "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" + ] } } - } -} + }, + "operationId": "BackupJobs_List", + "title": "List Jobs With Time Filter" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json index a5bf2f830ecd..1adeac495dff 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", - "fabricName": "Azure", + "api-version": "2025-02-01", "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "fabricName": "Azure", "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", - "api-version": "2025-02-01" + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": {}, @@ -18,5 +18,7 @@ } }, "204": {} - } -} + }, + "operationId": "ProtectedItems_Delete", + "title": "Delete Protection from Azure Virtual Machine" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json index 41564b46f997..404a332b9bb9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -1,12 +1,13 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { + "200": {}, "202": { "headers": { "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", @@ -14,7 +15,8 @@ "Retry-After": 60 } }, - "200": {}, "204": {} - } -} + }, + "operationId": "BackupOperationResults_Get", + "title": "Get Result for Protected Item Delete Operation" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json index 89537c4e927d..bfabbc8dbb38 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -1,21 +1,23 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "PythonSDKBackupTestRg", - "vaultName": "PySDKBackupTestRsVault", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "PythonSDKBackupTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "PySDKBackupTestRsVault" }, "responses": { "200": { - "headers": {}, "body": { - "id": "00000000-0000-0000-0000-000000000000", "name": "00000000-0000-0000-0000-000000000000", - "status": "InProgress", + "endTime": "0001-01-01T00:00:00.00000Z", + "id": "00000000-0000-0000-0000-000000000000", "startTime": "2017-08-03T06:52:53.886027Z", - "endTime": "0001-01-01T00:00:00.00000Z" - } + "status": "InProgress" + }, + "headers": {} } - } -} + }, + "operationId": "BackupOperationStatuses_Get", + "title": "Get Protected Item Delete Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json index ab69839e27e4..2cddc6d59b34 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "fabricName": "Azure", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "202": { @@ -13,5 +13,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "ProtectionContainers_Refresh", + "title": "Trigger Azure Vm Discovery" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json index 8c9f61d49908..df169326bfac 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json @@ -1,11 +1,11 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "fabricName": "Azure", "operationId": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "fabricName": "Azure", + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "202": { @@ -15,5 +15,7 @@ } }, "204": {} - } -} + }, + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "title": "Azure Vm Discovery Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json index 6257c7803ce0..6c32bcd6d5ef 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json @@ -1,25 +1,27 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "linuxRsVaultRG", - "vaultName": "linuxRsVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", - "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "fabricName": "Azure", "parameters": { "properties": { "objectType": "IaasVMBackupRequest" } - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "resourceGroupName": "linuxRsVaultRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "linuxRsVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", "Retry-After": 60 } } - } -} + }, + "operationId": "Backups_Trigger", + "title": "Trigger Backup" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json index 5d673c1cf95a..5f5f61d0d5f5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", + "api-version": "2025-02-01", "jobName": "00000000-0000-0000-0000-000000000000", - "api-version": "2025-02-01" + "resourceGroupName": "SwaggerTestRg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "202": { @@ -13,5 +13,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "JobCancellations_Trigger", + "title": "Cancel Job" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json index f0aa346a9f7d..511e79edc462 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json @@ -1,9 +1,9 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "NetSDKTestRsVault" }, "responses": { "202": { @@ -12,5 +12,7 @@ "Retry-After": 60 } } - } -} + }, + "operationId": "Jobs_Export", + "title": "Export Jobs" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json index dae2d4edf0e5..3906ec67c9d6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json @@ -1,35 +1,37 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "testRG", - "vaultName": "testVault", + "api-version": "2025-02-01", "backupEngineName": "testServer", - "api-version": "2025-02-01" + "resourceGroupName": "testRG", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", "name": "testServer", "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, "azureBackupAgentVersion": "2.0.9532.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", "backupEngineState": "Active", - "friendlyName": "testServer", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, "protectedItemsCount": 35, "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, "usedDiskSpace": 20 - } + }, + "friendlyName": "testServer", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" } } } - } -} + }, + "operationId": "BackupEngines_Get", + "title": "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json index 96ed0aff88b6..d939243be33f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json @@ -1,60 +1,62 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2025-02-01", "resourceGroupName": "testRG", - "vaultName": "testVault", - "api-version": "2025-02-01" + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", "name": "testServer1", "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, "azureBackupAgentVersion": "2.0.9532.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", "backupEngineState": "Active", - "friendlyName": "testServer1", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, "protectedItemsCount": 35, "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, "usedDiskSpace": 20 - } + }, + "friendlyName": "testServer1", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" } }, { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", "name": "testServer5", "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", "properties": { - "backupEngineType": "DpmBackupEngine", - "dpmVersion": "5.1.348.0", - "isDpmUpgradeAvailable": false, "azureBackupAgentVersion": "2.0.9530.0", - "isAzureBackupAgentUpgradeAvailable": false, - "registrationStatus": "Registered", "backupEngineState": "Active", - "friendlyName": "testServer5", + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", "extendedInfo": { + "availableDiskSpace": 50, + "diskCount": 5, "protectedItemsCount": 35, "protectedServersCount": 21, - "diskCount": 5, - "availableDiskSpace": 50, "usedDiskSpace": 20 - } + }, + "friendlyName": "testServer5", + "isAzureBackupAgentUpgradeAvailable": false, + "isDpmUpgradeAvailable": false, + "registrationStatus": "Registered" } } ] } } - } -} + }, + "operationId": "BackupEngines_List", + "title": "List Dpm/AzureBackupServer/Lajolla Backup Engines" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json index 5ed323fe6712..16ab61f3a4d4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json @@ -9,455 +9,457 @@ { "name": "microsoft.recoveryservices/vaults/usages/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Vault Usage", + "description": "Returns usage details for a Recovery Services Vault.", "operation": "Recovery Services Vault usage details.", - "description": "Returns usage details for a Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Usages Summaries", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services .", "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", - "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/storageConfig/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Vault Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault.", "operation": "Get Resource Storage Config", - "description": "Returns Storage Configuration for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/storageConfig/write", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Vault Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault.", "operation": "Write Resource Storage Config", - "description": "Updates Storage Configuration for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Vault Config", + "description": "Returns Configuration for Recovery Services Vault.", "operation": "Get Resource Config", - "description": "Returns Configuration for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Vault Config" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Vault Config", + "description": "Updates Configuration for Recovery Services Vault.", "operation": "Update Resource Config", - "description": "Updates Configuration for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Vault Config" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/tokenInfo/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Token Info", + "description": "Returns token information for Recovery Services Vault.", "operation": "Get Vault Token Info", - "description": "Returns token information for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Token Info" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "SecurityPINInfo", + "description": "Returns Security PIN Information for Recovery Services Vault.", "operation": "Get Security PIN Info", - "description": "Returns Security PIN Information for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault.", "operation": "Get Backup Management Metadata", - "description": "Returns Backup Management Metadata for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Operation Results", + "description": "Returns Backup Operation Result for Recovery Services Vault.", "operation": "Get Backup Operation Result", - "description": "Returns Backup Operation Result for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupOperations/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault.", "operation": "Get Backup Operation Status", - "description": "Returns Backup Operation Status for Recovery Services Vault." + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupJobs/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Jobs", + "description": "Returns all Job Objects", "operation": "Get Jobs", - "description": "Returns all Job Objects" + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Jobs", + "description": "Cancel the Job", "operation": "Cancel Jobs", - "description": "Cancel the Job" + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Export Backup Jobs", + "description": "Export Jobs", "operation": "Export Jobs", - "description": "Export Jobs" + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Jobs Operation Results", + "description": "Returns the Result of Job Operation.", "operation": "Get Job Operation Result", - "description": "Returns the Result of Job Operation." + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Export Backup Jobs Operation Results", + "description": "Returns the Result of Export Job Operation.", "operation": "Get Export Job Operation Result", - "description": "Returns the Result of Export Job Operation." + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Recovery Points", + "description": "Get Recovery Points for Protected Items.", "operation": "Get Recovery Points", - "description": "Get Recovery Points for Protected Items." + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Recovery Points", + "description": "Restore Recovery Points for Protected Items.", "operation": "Restore Recovery Points", - "description": "Restore Recovery Points for Protected Items." + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Recovery Points", + "description": "Provision Instant Item Recovery for Protected Item", "operation": "Provision Instant Item Recovery for Protected Item", - "description": "Provision Instant Item Recovery for Protected Item" + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Recovery Points", + "description": "Revoke Instant Item Recovery for Protected Item", "operation": "Revoke Instant Item Recovery for Protected Item", - "description": "Revoke Instant Item Recovery for Protected Item" + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPolicies/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Policies", + "description": "Returns all Protection Policies", "operation": "Get Protection Policy", - "description": "Returns all Protection Policies" + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPolicies/write", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Policies", + "description": "Creates Protection Policy", "operation": "Create Protection Policy", - "description": "Creates Protection Policy" + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Policies", + "description": "Delete a Protection Policy", "operation": "Delete Protection Policy", - "description": "Delete a Protection Policy" + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Policy Operation Results", + "description": "Get Results of Policy Operation.", "operation": "Get Policy Operation Results", - "description": "Get Results of Policy Operation." + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Policy Operation Status", + "description": "Get Status of Policy Operation.", "operation": "Get Policy Operation Status", - "description": "Get Status of Policy Operation." + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Items", + "description": "Returns object details of the Protected Item", "operation": "Get Protected Item Details", - "description": "Returns object details of the Protected Item" + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Items", + "description": "Returns the list of all Protected Items.", "operation": "Get All Protected Items", - "description": "Returns the list of all Protected Items." + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Items", + "description": "Create a backup Protected Item", "operation": "Create Backup Protected Item", - "description": "Create a backup Protected Item" + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Items", + "description": "Deletes Protected Item", "operation": "Delete Protected Items", - "description": "Deletes Protected Item" + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Item Operation Results", + "description": "Gets Result of Operation Performed on Protected Items.", "operation": "Get Protected Items Operation Results", - "description": "Gets Result of Operation Performed on Protected Items." + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Item Operation Status", + "description": "Returns the status of Operation performed on Protected Items.", "operation": "Get Protected Items operation status", - "description": "Returns the status of Operation performed on Protected Items." + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protected Items", + "description": "Performs Backup for Protected Item.", "operation": "Backup Protected Item", - "description": "Performs Backup for Protected Item." + "provider": "microsoft.recoveryservices", + "resource": "Protected Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Protectable Items", + "description": "Returns list of all Protectable Items.", "operation": "Get Protectable Items", - "description": "Returns list of all Protectable Items." + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/refreshContainers/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Refresh Containers", + "description": "Refreshes the container list", "operation": "Refresh container", - "description": "Refreshes the container list" + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Refresh Containers Operation Results", + "description": "Returns status of the operation", "operation": "Get Operation Results", - "description": "Returns status of the operation" + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Protection Containers", + "description": "Returns all containers belonging to the subscription", "operation": "Get Containers In Subscription", - "description": "Returns all containers belonging to the subscription" + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protection Containers", + "description": "Returns all registered containers", "operation": "Get Registered Container", - "description": "Returns all registered containers" + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protection Containers Operation Results", + "description": "Gets result of Operation performed on Protection Container.", "operation": "Get Container Operation Results", - "description": "Gets result of Operation performed on Protection Container." + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupEngines", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Engines", + "description": "Returns all the backup management servers registered with vault.", "operation": "List of backup management servers.", - "description": "Returns all the backup management servers registered with vault." + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupStatus", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Backup Status", + "description": "Check Backup Status for Recovery Services Vaults", "operation": "Check Backup Status for Vault", - "description": "Check Backup Status for Recovery Services Vaults" + "provider": "microsoft.recoveryservices", + "resource": "Backup Status" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", "display": { - "provider": "microsoft.recoveryservices", - "resource": "PreValidate Protection", + "description": "", "operation": "Pre Validate Enable Protection", - "description": "" + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Validate Features", + "description": "Validate Features", "operation": "Validate Features", - "description": "Validate Features" + "provider": "microsoft.recoveryservices", + "resource": "Validate Features" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protection Intent", + "description": "Create a backup Protection Intent", "operation": "Create backup Protection Intent", - "description": "Create a backup Protection Intent" + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Workload Items", + "description": "Get all items in a container", "operation": "Get all items in a container", - "description": "Get all items in a container" + "provider": "microsoft.recoveryservices", + "resource": "Workload Items" }, "origin": "user" }, { "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", "display": { - "provider": "microsoft.recoveryservices", - "resource": "Protection Containers Inquire", + "description": "Get all items in a container", "operation": "Get all items in a container", - "description": "Get all items in a container" + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire" }, "origin": "user" } ] } } - } -} + }, + "operationId": "Operations_List", + "title": "ListOperations" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json index 8831775723e4..ba815512df02 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", + "api-version": "2025-02-01", "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "api-version": "2025-02-01" + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { "200": {}, @@ -15,5 +15,7 @@ } }, "204": {} - } -} + }, + "operationId": "PrivateEndpointConnection_Delete", + "title": "Delete PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json index a814ff6c9bdc..74ae1b2984ca 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -1,31 +1,33 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", + "api-version": "2025-02-01", "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "api-version": "2025-02-01" + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { "200": { "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "properties": { - "provisioningState": "Pending", + "groupIds": [ + "AzureBackup_secondary" + ], "privateEndpoint": { "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" }, "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" + "description": "Approved by johndoe@company.com", + "status": "Approved" }, - "groupIds": [ - "AzureBackup_secondary" - ] + "provisioningState": "Pending" } } } - } -} + }, + "operationId": "PrivateEndpointConnection_Get", + "title": "Get PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json index 739c065aa5fc..5d93cf4f2b5d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -1,21 +1,23 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "vaultName": "gaallavaultbvtd2msi", "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { "200": { "body": { - "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "status": "Succeeded", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "startTime": "2020-02-27T11:59:47.5901592Z", - "endTime": "2020-02-27T11:59:47.5901592Z" + "status": "Succeeded" } } - } -} + }, + "operationId": "PrivateEndpoint_GetOperationStatus", + "title": "Get OperationStatus" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json index 671e8711cd15..cbb5ac2c9a29 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -1,70 +1,72 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", "api-version": "2025-02-01", "parameters": { "properties": { - "provisioningState": "Succeeded", + "groupIds": [ + "AzureBackup_secondary" + ], "privateEndpoint": { "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" }, "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" + "description": "Approved by johndoe@company.com", + "status": "Approved" }, - "groupIds": [ - "AzureBackup_secondary" - ] + "provisioningState": "Succeeded" } - } + }, + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { - "201": { + "200": { "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "properties": { - "provisioningState": "Pending", + "groupIds": [ + "AzureBackup_secondary" + ], "privateEndpoint": { "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" }, "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" + "description": "Approved by johndoe@company.com", + "status": "Approved" }, - "groupIds": [ - "AzureBackup_secondary" - ] + "provisioningState": "Succeeded" } - }, - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", - "Retry-After": "60" } }, - "200": { + "201": { "body": { - "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", "properties": { - "provisioningState": "Succeeded", + "groupIds": [ + "AzureBackup_secondary" + ], "privateEndpoint": { "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" }, "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Approved by johndoe@company.com" + "description": "Approved by johndoe@company.com", + "status": "Approved" }, - "groupIds": [ - "AzureBackup_secondary" - ] + "provisioningState": "Pending" } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" } } - } -} + }, + "operationId": "PrivateEndpointConnection_Put", + "title": "Update PrivateEndpointConnection" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json index 987e5fdba2ba..29c548eb86a9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", - "vaultName": "sampleVault", + "api-version": "2025-02-01", "resourceGroupName": "SampleResourceGroup", "resourceGuardProxyName": "swaggerExample", - "api-version": "2025-02-01" + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" }, "responses": { "200": {}, "204": {} - } -} + }, + "operationId": "ResourceGuardProxy_Delete", + "title": "Delete ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json index 4ec39c326297..e825f4c92d92 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -1,33 +1,35 @@ { "parameters": { - "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", - "vaultName": "sampleVault", + "api-version": "2025-02-01", "resourceGroupName": "SampleResourceGroup", "resourceGuardProxyName": "swaggerExample", - "api-version": "2025-02-01" + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" }, "responses": { "200": { "body": { - "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "name": "swaggerExample", "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "properties": { - "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", "resourceGuardOperationDetails": [ { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" }, { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" } ], - "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", - "description": "Please take JIT access before performing any of the critical operation" + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" } } } - } -} + }, + "operationId": "ResourceGuardProxy_Get", + "title": "Get ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json index 8898fbe8feff..4b87f1f73e1a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -1,36 +1,38 @@ { "parameters": { - "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", - "vaultName": "sampleVault", + "api-version": "2025-02-01", "resourceGroupName": "SampleResourceGroup", - "api-version": "2025-02-01" + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" }, "responses": { "200": { "body": { "value": [ { - "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "name": "swaggerExample", "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "properties": { - "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", "resourceGuardOperationDetails": [ { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" }, { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" } ], - "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", - "description": "Please take JIT access before performing any of the critical operation" + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" } } ] } } - } -} + }, + "operationId": "ResourceGuardProxies_Get", + "title": "Get VaultGuardProxies" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json index d3a23e81b171..b0322029633f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -1,38 +1,40 @@ { "parameters": { - "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", - "vaultName": "sampleVault", - "resourceGroupName": "SampleResourceGroup", - "resourceGuardProxyName": "swaggerExample", "api-version": "2025-02-01", "parameters": { "properties": { "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" } - } + }, + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" }, "responses": { "200": { "body": { - "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "name": "swaggerExample", "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", "properties": { - "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "description": "Please take JIT access before performing any of the critical operation", + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", "resourceGuardOperationDetails": [ { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests" }, { - "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", - "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default", + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests" } ], - "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", - "description": "Please take JIT access before performing any of the critical operation" + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" } } } - } -} + }, + "operationId": "ResourceGuardProxy_Put", + "title": "Create ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json index f952bbd20116..4d949656422a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -1,16 +1,16 @@ { "parameters": { - "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", - "vaultName": "sampleVault", - "resourceGroupName": "SampleResourceGroup", - "resourceGuardProxyName": "swaggerExample", "api-version": "2025-02-01", "parameters": { "resourceGuardOperationRequests": [ "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default" ], "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb" - } + }, + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault" }, "responses": { "200": { @@ -18,5 +18,7 @@ "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z" } } - } -} + }, + "operationId": "ResourceGuardProxy_UnlockDelete", + "title": "UnlockDelete ResourceGuardProxy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json index 290fb9d613a3..8a906b5a3938 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json @@ -1,32 +1,34 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", "api-version": "2025-02-01", "parameters": { "objectType": "FetchTieringCostSavingsInfoForPolicyRequest", "policyName": "monthly", "sourceTierType": "HardenedRP", "targetTierType": "ArchivedRP" - } + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", - "Retry-After": 60 - } - }, "200": { "body": { "objectType": "TieringCostSavingInfo", - "sourceTierSizeReductionInBytes": 1204000, - "targetTierSizeIncreaseInBytes": 1892, "retailSourceTierCostPerGBPerMonth": 0.02, - "retailTargetTierCostPerGBPerMonth": 0.003 + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Retry-After": 60 } } - } -} + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for policy" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json index 29bc59778aeb..489b87c5fd1e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json @@ -1,33 +1,35 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", "api-version": "2025-02-01", "parameters": { - "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "objectType": "FetchTieringCostSavingsInfoForProtectedItemRequest", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "sourceTierType": "HardenedRP", "targetTierType": "ArchivedRP" - } + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "objectType": "TieringCostSavingInfo", - "sourceTierSizeReductionInBytes": 1204000, - "targetTierSizeIncreaseInBytes": 1892, "retailSourceTierCostPerGBPerMonth": 0.02, - "retailTargetTierCostPerGBPerMonth": 0.003 + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 } }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Retry-After": 60 } } - } -} + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for protected item" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json index f2d637c439d8..4fded520853d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json @@ -1,18 +1,18 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", "api-version": "2025-02-01", "parameters": { - "objectType": "FetchTieringCostInfoForRehydrationRequest", "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "objectType": "FetchTieringCostInfoForRehydrationRequest", "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", "recoveryPointId": "1222343434", "rehydrationPriority": "High", "sourceTierType": "ArchivedRP", "targetTierType": "HardenedRP" - } + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { @@ -24,10 +24,12 @@ }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Retry-After": 60 } } - } -} + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the rehydration cost for recovery point" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json index a0726d88015f..2382ef901a51 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json @@ -1,31 +1,33 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", "api-version": "2025-02-01", "parameters": { "objectType": "FetchTieringCostSavingsInfoForVaultRequest", "sourceTierType": "HardenedRP", "targetTierType": "ArchivedRP" - } + }, + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "200": { "body": { "objectType": "TieringCostSavingInfo", - "sourceTierSizeReductionInBytes": 1204000, - "targetTierSizeIncreaseInBytes": 1892, "retailSourceTierCostPerGBPerMonth": 0.02, - "retailTargetTierCostPerGBPerMonth": 0.003 + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 } }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupTieringCost/default/operationResults/00000000-0000-0000-0000-000000000000?api-version=2025-02-01", "Retry-After": 60 } } - } -} + }, + "operationId": "FetchTieringCost_Post", + "title": "Get the tiering savings cost info for vault" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json index 01b814939c1b..2b400080c0bd 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "vaultName": "gaallavaultbvtd2msi", "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { "200": { "body": { "objectType": "TieringCostSavingInfo", - "sourceTierSizeReductionInBytes": 1204000, - "targetTierSizeIncreaseInBytes": 1892, "retailSourceTierCostPerGBPerMonth": 0.02, - "retailTargetTierCostPerGBPerMonth": 0.003 + "retailTargetTierCostPerGBPerMonth": 0.003, + "sourceTierSizeReductionInBytes": 1204000, + "targetTierSizeIncreaseInBytes": 1892 } } - } -} + }, + "operationId": "GetTieringCostOperationResult_Get", + "title": "Fetch Tiering Cost Operation Result" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json index 739c065aa5fc..dcf81abdbc6a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json @@ -1,21 +1,23 @@ { "parameters": { - "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", - "resourceGroupName": "gaallaRG", - "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", - "vaultName": "gaallavaultbvtd2msi", "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "api-version": "2025-02-01" + "api-version": "2025-02-01", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "resourceGroupName": "gaallaRG", + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "vaultName": "gaallavaultbvtd2msi" }, "responses": { "200": { "body": { - "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", - "status": "Succeeded", + "endTime": "2020-02-27T11:59:47.5901592Z", + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", "startTime": "2020-02-27T11:59:47.5901592Z", - "endTime": "2020-02-27T11:59:47.5901592Z" + "status": "Succeeded" } } - } -} + }, + "operationId": "TieringCostOperationStatus_Get", + "title": "Fetch Tiering Cost Operation Status" +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json index 2a583327d01e..a9352b69fbbe 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json @@ -1,26 +1,28 @@ { "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "netsdktestrg", - "vaultName": "testVault", - "fabricName": "Azure", - "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", - "recoveryPointId": "348916168024334", "api-version": "2025-02-01", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "fabricName": "Azure", "parameters": { "objectType": "MoveRPAcrossTiersRequest", "sourceTierType": "HardenedRP", "targetTierType": "ArchivedRP" - } + }, + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "resourceGroupName": "netsdktestrg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testVault" }, "responses": { "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-09-01", "Retry-After": 60 } } - } -} + }, + "operationId": "MoveRecoveryPoint", + "title": "Trigger RP Move Operation" +} \ No newline at end of file From afa5c863bf853fa2856ab23a52063446ce2df953 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 11:38:36 +0800 Subject: [PATCH 02/40] fix --- .../BackupResourceConfigResource.tsp | 8 +- ...sourceEncryptionConfigExtendedResource.tsp | 6 +- .../BackupResourceVaultConfigResource.tsp | 3 + .../JobResource.tsp | 8 +- .../ProtectedItemResource.tsp | 9 +- .../ProtectionContainerResource.tsp | 4 +- .../ProtectionPolicyResource.tsp | 3 +- .../RecoveryPointResource.tsp | 8 +- .../VirtualResource.tsp | 13 +- .../RecoveryServices.Management/main.tsp | 4 - .../RecoveryServices.Management/models.tsp | 195 ++++++++++++------ .../RecoveryServices.Management/routes.tsp | 14 +- .../tspconfig.yaml | 41 +++- .../stable/2025-02-01/bms.json | 16 +- 14 files changed, 244 insertions(+), 88 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index cb2aa48e8534..46a804b8a631 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -61,6 +61,7 @@ interface BackupResourceConfigResources { * Prepares source vault for Data Move operation */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @action("prepareDataMove") @operationId("BMSPrepareDataMove") bMSPrepareDataMove is ArmResourceActionAsync< @@ -73,6 +74,7 @@ interface BackupResourceConfigResources { * Triggers Data Move Operation on target vault */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @action("triggerDataMove") @operationId("BMSTriggerDataMove") bMSTriggerDataMove is ArmResourceActionAsync< @@ -94,6 +96,7 @@ interface BackupResourceConfigOperationResultOps /** vaults */ @path @segment("vaults") vaultName: string, + /** backupStorageConfigName */ @path @segment("backupstorageconfig") backupStorageConfigName: "vaultstorageconfig", @@ -111,8 +114,9 @@ interface BackupResourceConfigOperationResults { /** * Fetches operation status for data move operation on vault */ - @operationId("BMSPrepareDataMoveOperationResult_Get") + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + @operationId("BMSPrepareDataMoveOperationResult_Get") get is BackupResourceConfigOperationResultOps.Read< BackupResourceConfigResource, Response = ArmResponse | AcceptedResponse @@ -131,6 +135,7 @@ interface BackupResourceConfigOperationStatusOps /** vaults */ @path @segment("vaults") vaultName: string, + /** backupStorageConfigName */ @path @segment("backupstorageconfig") backupStorageConfigName: "vaultstorageconfig", @@ -143,6 +148,7 @@ interface BackupResourceConfigOperationStatusOps >> > {} +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @armResourceOperations interface BackupResourceConfigOperationStatuses { /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp index fbb1a906a366..4a2b2037e67b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -25,7 +25,8 @@ model BackupResourceEncryptionConfigExtendedResource @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) -model BackupResourceEncryptionConfigResource is Azure.ResourceManager.TrackedResource { +model BackupResourceEncryptionConfigResource + is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = BackupResourceEncryptionConfigResource, KeyName = "backupEncryptionConfig", @@ -34,6 +35,7 @@ model BackupResourceEncryptionConfigResource is Azure.ResourceManager.TrackedRes >; } +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @armResourceOperations interface BackupResourceEncryptionConfigExtendedResources { /** @@ -48,6 +50,8 @@ interface BackupResourceEncryptionConfigExtendedResources { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" @operationId("BackupResourceEncryptionConfigs_Update") update is ArmResourceCreateOrReplaceSync< BackupResourceEncryptionConfigResource, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index e97cd2db6220..489a7fcbc42f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -25,6 +25,7 @@ model BackupResourceVaultConfigResource >; } +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @armResourceOperations interface BackupResourceVaultConfigResources { /** @@ -44,6 +45,7 @@ interface BackupResourceVaultConfigResources { BackupResourceVaultConfigResource, Parameters = { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string; }, @@ -61,6 +63,7 @@ interface BackupResourceVaultConfigResources { PatchModel = BackupResourceVaultConfigResource, Parameters = { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string; } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index 64983ba9a290..c8ea8da390b6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -60,9 +60,10 @@ interface JobResources { * GetCancelOperationResult API. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("cancel") @operationId("JobCancellations_Trigger") - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" trigger is ArmResourceActionSync; } @@ -98,8 +99,9 @@ interface JobOperationResults { /** * Fetches the result of any operation. */ - @get #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + @get get is JobOperationResultsOps.Read< JobResource, Response = OkResponse | AcceptedResponse | ArmNoContentResponse @@ -135,9 +137,9 @@ interface ExportJobsOperationResults { * Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also * contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format. */ - @get #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + @get get is ExportJobsOperationResultsOps.Read< JobResource, Response = ArmResponse | { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index 3113a60a9c07..7455e94b9184 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -14,6 +14,7 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup items. */ +#suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "For backward compatibility" @parentResource(ProtectionContainerResource) model ProtectedItemResource is Azure.ResourceManager.TrackedResource { @@ -50,12 +51,13 @@ interface ProtectedItemResources { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("ProtectedItems_CreateOrUpdate") #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + @operationId("ProtectedItems_CreateOrUpdate") createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectedItemResource, Parameters = { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string; }, @@ -68,8 +70,8 @@ interface ProtectedItemResources { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - @operationId("ProtectedItems_Delete") #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + @operationId("ProtectedItems_Delete") delete is ArmResourceDeleteSync< ProtectedItemResource, Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse @@ -80,9 +82,10 @@ interface ProtectedItemResources { * operation, call GetProtectedItemOperationResult API. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("backup") @operationId("Backups_Trigger") - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" trigger is ArmResourceActionSync< ProtectedItemResource, BackupRequestResource, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index 002671454cac..f889a7e5fd32 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -53,6 +53,7 @@ interface ProtectionContainerResources { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("ProtectionContainers_Unregister") unregister is ArmResourceDeleteSync< ProtectionContainerResource, @@ -63,8 +64,9 @@ interface ProtectionContainerResources { * This is an async operation and the results should be tracked using location header or Azure-async-url. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectionContainers_Inquire") #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + @operationId("ProtectionContainers_Inquire") inquire is ArmResourceActionSync< ProtectionContainerResource, void, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 678f6f831975..16e8d69a0062 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -40,12 +40,13 @@ interface ProtectionPolicyResources { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("ProtectionPolicies_CreateOrUpdate") #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + @operationId("ProtectionPolicies_CreateOrUpdate") createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectionPolicyResource, Parameters = { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string; }, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp index 0f7a05a0a3fd..da1cb7739773 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -14,6 +14,7 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup copies. Workload-specific backup copies are derived from this class. */ +#suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "For backward compatibility" @parentResource(ProtectedItemResource) model RecoveryPointResource is Azure.ResourceManager.TrackedResource { @@ -79,6 +80,7 @@ interface RecoveryPointResources { BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters, Parameters = { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string; } @@ -90,9 +92,10 @@ interface RecoveryPointResources { * provisioning, call GetProtectedItemOperationResult API. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("provisionInstantItemRecovery") @operationId("ItemLevelRecoveryConnections_Provision") - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" provision is ArmResourceActionSync< RecoveryPointResource, ILRRequestResource, @@ -104,9 +107,10 @@ interface RecoveryPointResources { * displaying all recoverable files and folders. This is an asynchronous operation. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("revokeInstantItemRecovery") @operationId("ItemLevelRecoveryConnections_Revoke") - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" revoke is ArmResourceActionSync< RecoveryPointResource, void, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp index 809fe16039aa..d3b50e22bf30 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp @@ -7,13 +7,24 @@ using Azure.ResourceManager; namespace Microsoft.RecoveryServices; +/** + * Vault virtual resource. + */ @armVirtualResource model VaultResource { ...ResourceNameParameter; } +/** + * Backup Fabric virtual resource. + */ @parentResource(VaultResource) @armVirtualResource model BackupFabricResource { - ...ResourceNameParameter; + ...ResourceNameParameter< + BackupFabricResource, + "fabricName", + "backupFabrics", + "" + >; } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp index 79a13bac37c6..4be4910e7a0f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp @@ -28,10 +28,6 @@ import "./ResourceGuardProxyBaseResource.tsp"; import "./VirtualResource.tsp"; import "./routes.tsp"; -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager.Foundations; -using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 19d891bc9d5a..f86bc0cdccda 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -1188,22 +1188,27 @@ enum ProtectableContainerType { /** * Recovery point tier type. */ -union RecoveryPointTierType { - "Invalid", - "InstantRP", - "HardenedRP", - "ArchivedRP", - string, +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum RecoveryPointTierType { + Invalid, + InstantRP, + HardenedRP, + ArchivedRP, } /** * Recovery point tier status. */ union RecoveryPointTierStatus { + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" "Invalid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" "Valid", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" "Disabled", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" "Deleted", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" "Rehydrated", string, } @@ -1543,12 +1548,14 @@ model FeatureSupportRequest { /** * backup support feature type. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" featureType: string; } /** * Response for feature support requests for Azure IaasVm */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVMResourceFeatureSupportResponse { /** * Support status of feature @@ -1651,7 +1658,6 @@ model BackupManagementUsage { /** * Next reset time of usage. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. nextResetTime?: utcDateTime; /** @@ -1839,6 +1845,7 @@ model BackupResourceEncryptionConfigExtended } #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" model BackupResourceEncryptionConfig { /** * Encryption At Rest Type @@ -1868,6 +1875,7 @@ model PrivateEndpointConnection { /** * Gets or sets provisioning state of the private endpoint connection */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" provisioningState?: ProvisioningState; /** @@ -1986,13 +1994,11 @@ model OperationStatus { /** * Operation start time. Format: ISO-8601. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * Operation end time. Format: ISO-8601. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** @@ -2029,6 +2035,7 @@ model OperationStatusExtendedInfo { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2071,6 +2078,7 @@ model VaultStorageConfigOperationResultResponse { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2106,6 +2114,7 @@ model TriggerDataMoveRequest { /** * Pause GC */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" pauseGC?: boolean; } @@ -2118,6 +2127,7 @@ model ProtectedItem { /** * backup item type. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" protectedItemType: string; /** @@ -2150,7 +2160,6 @@ model ProtectedItem { /** * Timestamp when the last (latest) backup copy was created for this backup item. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRecoveryPoint?: utcDateTime; /** @@ -2166,7 +2175,7 @@ model ProtectedItem { /** * Time for deferred deletion in UTC */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" deferredDeleteTimeInUTC?: utcDateTime; /** @@ -2240,6 +2249,7 @@ model RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2262,6 +2272,7 @@ model RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; /** @@ -2299,6 +2310,7 @@ model ProtectionPolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" backupManagementType: string; /** @@ -2351,13 +2363,11 @@ model Job { /** * The start time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * The end time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** @@ -2368,6 +2378,7 @@ model Job { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" jobType: string; } @@ -2390,6 +2401,7 @@ model OperationResultInfoBase { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2447,6 +2459,7 @@ model ValidateOperationRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2616,7 +2629,6 @@ model BackupEngineExtendedInfo { /** * Last refresh time in the backup engine. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. refreshedAt?: utcDateTime; /** @@ -2671,6 +2683,7 @@ model ProtectableContainer { * 1. Compute Azure VM is Microsoft.Compute/virtualMachines * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" protectableContainerType: ProtectableContainerType; /** @@ -2716,6 +2729,7 @@ model ProtectionContainer { * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload * Backup is VMAppContainer */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" containerType: ProtectableContainerType; /** @@ -2768,6 +2782,7 @@ model WorkloadItem { /** * Type of the backup item. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" workloadItemType: string; /** @@ -2800,6 +2815,7 @@ model BackupRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2807,6 +2823,7 @@ model BackupRequest { * Parameters to Provision ILR API. */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model ILRRequestResource extends Resource { /** * ILRRequestResource properties @@ -2818,10 +2835,12 @@ model ILRRequestResource extends Resource { * Parameters to Provision ILR API. */ @discriminator("objectType") +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model ILRRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -2869,6 +2888,7 @@ model WorkloadProtectableItem { /** * Type of the backup item. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" protectableItemType: string; /** @@ -2924,10 +2944,12 @@ model TokenInformation { /** * Security PIN */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" securityPIN?: string; } #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model MoveRPAcrossTiersRequest { /** * Gets the class type. @@ -2957,6 +2979,7 @@ model ListRecoveryPointsRecommendedForMoveRequest { /** * List of Recovery Points excluded from Move */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" excludedRPList?: string[]; } @@ -3038,6 +3061,7 @@ model FetchTieringCostInfoRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -3049,6 +3073,7 @@ model TieringCostInfo { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" objectType: string; } @@ -3079,7 +3104,6 @@ model AzureFileshareProtectedItem extends ProtectedItem { /** * Timestamp of the last backup operation on this backup item. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastBackupTime?: utcDateTime; /** @@ -3102,6 +3126,7 @@ model AzureFileshareProtectedItem extends ProtectedItem { /** * KPI Resource Health Details */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model KPIResourceHealthDetails { /** * Resource Health Status @@ -3151,7 +3176,6 @@ model AzureFileshareProtectedItemExtendedInfo { /** * The oldest backup copy available for this item in the service. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** @@ -3174,7 +3198,6 @@ model AzureFileshareProtectedItemExtendedInfo { * The resource state sync time for this backup item. */ @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. resourceStateSyncTime?: utcDateTime; } @@ -3190,7 +3213,6 @@ model AzureFileShareRecoveryPoint extends RecoveryPoint { /** * Time at which this backup copy was created. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. recoveryPointTime?: utcDateTime; /** @@ -3201,6 +3223,7 @@ model AzureFileShareRecoveryPoint extends RecoveryPoint { /** * Contains recovery point size */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" recoveryPointSizeInGB?: int32; /** @@ -3325,6 +3348,7 @@ model RestoreFileSpecs { /** * Target Azure File Share Info. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model TargetAFSRestoreInfo { /** * File share name @@ -3430,6 +3454,7 @@ model SchedulePolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" schedulePolicyType: string; } @@ -3441,6 +3466,7 @@ model RetentionPolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" retentionPolicyType: string; } @@ -3477,6 +3503,7 @@ model SnapshotBackupAdditionalDetails { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" instantRpRetentionRangeInDays?: int32; #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" instantRPDetails?: string; /** @@ -3571,6 +3598,7 @@ model VaultRetentionPolicy { /** * IaaS VM workload-specific backup item representing the Classic Compute VM. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSClassicComputeVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3630,7 +3658,6 @@ alias AzureIaaSVMProtectedItemProperties = { * Timestamp of the last backup operation on this backup item. */ @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastBackupTime?: utcDateTime; /** @@ -3659,6 +3686,7 @@ alias AzureIaaSVMProtectedItemProperties = { /** * IaaS VM workload-specific backup item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3672,34 +3700,33 @@ model AzureIaaSVMProtectedItem extends ProtectedItem { * Azure IaaS VM workload-specific Health Details. */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" model AzureIaaSVMHealthDetails extends ResourceHealthDetails {} /** * Additional information on Azure IaaS VM specific backup item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMProtectedItemExtendedInfo { /** * The oldest backup copy available for this backup item across all tiers. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** * The oldest backup copy available for this backup item in vault tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPointInVault?: utcDateTime; /** * The oldest backup copy available for this backup item in archive tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPointInArchive?: utcDateTime; /** * The latest backup copy available for this backup item in archive tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. newestRecoveryPointInArchive?: utcDateTime; /** @@ -3744,6 +3771,7 @@ model DiskExclusionProperties { /** * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSComputeVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3756,6 +3784,7 @@ model AzureIaaSComputeVMProtectedItem extends ProtectedItem { /** * Azure IaaS VM workload-specific error information. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMErrorInfo { /** * Error code. @@ -3831,6 +3860,7 @@ model AzureIaaSVMJob extends Job { /** * Azure IaaS VM workload-specific additional information for job. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMJobExtendedInfo { /** * List of tasks associated with this job. @@ -3869,6 +3899,7 @@ model AzureIaaSVMJobExtendedInfo { /** * Azure IaaS VM workload-specific job task details. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMJobTaskDetails { /** * The task display name. @@ -3878,13 +3909,11 @@ model AzureIaaSVMJobTaskDetails { /** * The start time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * The end time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** @@ -3917,6 +3946,7 @@ model AzureIaaSVMJobTaskDetails { /** * Azure IaaS VM workload-specific job object. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMJobV2 extends Job { /** * Gets or sets the state/actions applicable on this job like cancel/retry. @@ -3958,6 +3988,7 @@ model AzureIaaSVMJobV2 extends Job { /** * IaaS VM workload-specific backup policy. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" instantRPDetails?: InstantRPAdditionalDetails; @@ -4002,6 +4033,7 @@ model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { } #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model InstantRPAdditionalDetails { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" azureBackupRGNamePrefix?: string; @@ -4041,7 +4073,6 @@ model AzureSqlProtectedItemExtendedInfo { /** * The oldest backup copy available for this item in the service. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** @@ -4222,7 +4253,6 @@ model AzureVmWorkloadProtectedItem extends ProtectedItem { /** * Timestamp of the last backup operation on this backup item. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastBackupTime?: utcDateTime; /** @@ -4265,25 +4295,21 @@ model AzureVmWorkloadProtectedItemExtendedInfo { /** * The oldest backup copy available for this backup item across all tiers. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** * The oldest backup copy available for this backup item in vault tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPointInVault?: utcDateTime; /** * The oldest backup copy available for this backup item in archive tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPointInArchive?: utcDateTime; /** * The latest backup copy available for this backup item in archive tier */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. newestRecoveryPointInArchive?: utcDateTime; /** @@ -4331,6 +4357,7 @@ model DistributedNodesInfo { /** * Azure VM workload-specific protected item representing SAP ASE Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPAseDatabaseProtectedItem extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4343,6 +4370,7 @@ model AzureVmWorkloadSAPAseDatabaseProtectedItem extends RecoveryPoint { /** * Azure VM workload-specific protected item representing SAP HANA Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4355,6 +4383,7 @@ model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends RecoveryPoint { /** * Azure VM workload-specific protected item representing SAP HANA DBInstance. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4367,6 +4396,7 @@ model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends RecoveryPoint { /** * Azure VM workload-specific protected item representing SQL Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLDatabaseProtectedItem extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4507,13 +4537,11 @@ model PointInTimeRange { /** * Start time of the time range for log recovery. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * End time of the time range for log recovery. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; } @@ -4521,6 +4549,7 @@ alias AzureWorkloadRecoveryPointProperties = { /** * UTC time at which recovery point was created */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" recoveryPointTimeInUTC?: utcDateTime; /** @@ -4694,12 +4723,14 @@ model SnapshotRestoreParameters { #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" skipAttachAndMount?: boolean; #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" logPointInTimeForDBRecovery?: string; } /** * Recovery point specific to PointInTime in SAPHana */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaPointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4719,6 +4750,7 @@ alias AzureWorkloadSAPHanaPointInTimeRestoreRequestProperties = { /** * AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaPointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4732,6 +4764,7 @@ model AzureWorkloadSAPHanaPointInTimeRestoreRequest extends RestoreRequest { /** * AzureWorkload SAP Hana-specific restore. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4744,6 +4777,7 @@ model AzureWorkloadSAPHanaRestoreRequest extends RestoreRequest { /** * SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4756,6 +4790,7 @@ model AzureWorkloadSAPHanaRecoveryPoint extends RecoveryPoint { /** * Recovery point specific to PointInTime in SAPAse */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4768,6 +4803,7 @@ model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { /** * AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPAsePointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4785,6 +4821,7 @@ model AzureWorkloadSAPAsePointInTimeRestoreRequest extends RestoreRequest { /** * AzureWorkload SAP Ase-specific restore. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPAseRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4797,6 +4834,7 @@ model AzureWorkloadSAPAseRestoreRequest extends RestoreRequest { /** * SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPAseRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4809,6 +4847,7 @@ model AzureWorkloadSAPAseRecoveryPoint extends RecoveryPoint { /** * Recovery point specific to PointInTime */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLPointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4837,6 +4876,7 @@ alias AzureWorkloadSQLRecoveryPointProperties = { /** * SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4850,11 +4890,11 @@ model AzureWorkloadSQLRecoveryPoint extends RecoveryPoint { /** * Extended info class details */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLRecoveryPointExtendedInfo { /** * UTC time at which data directory info was captured */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. dataDirectoryTimeInUTC?: utcDateTime; /** @@ -4867,6 +4907,7 @@ model AzureWorkloadSQLRecoveryPointExtendedInfo { /** * SQLDataDirectory info */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model SQLDataDirectory { /** * Type of data directory mapping @@ -4894,6 +4935,7 @@ alias AzureWorkloadSQLPointInTimeRestoreRequestProperties = { /** * AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLPointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4926,6 +4968,7 @@ alias AzureWorkloadSQLRestoreRequestProperties = { /** * AzureWorkload SQL -specific restore. Specifically for full/diff restore */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4939,6 +4982,7 @@ model AzureWorkloadSQLRestoreRequest extends RestoreRequest { /** * Encapsulates information regarding data directory */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model SQLDataDirectoryMapping { /** * Type of data directory mapping @@ -4964,6 +5008,7 @@ model SQLDataDirectoryMapping { /** * BEK is bitlocker encryption key. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BEKDetails { /** * Secret is BEK. @@ -4988,13 +5033,11 @@ model BmsrpQueryObject { /** * Backup copies created after this time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startDate?: utcDateTime; /** * Backup copies created before this time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endDate?: utcDateTime; /** @@ -5010,11 +5053,13 @@ model BmsrpQueryObject { /** * Whether the RP can be moved to another tier */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" moveReadyRPOnly?: boolean; /** * Flag to indicate whether Soft Deleted RPs should be included/excluded from result. */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" includeSoftDeletedRP?: boolean; } @@ -5185,13 +5230,11 @@ model DpmJobTaskDetails { /** * The start time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * The end time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** @@ -5208,6 +5251,7 @@ model DpmJobTaskDetails { /** * Additional information on Backup engine specific backup item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model DPMProtectedItem extends ProtectedItem { /** * Friendly name of the managed item @@ -5238,6 +5282,7 @@ model DPMProtectedItem extends ProtectedItem { /** * Additional information of DPM Protected item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model DPMProtectedItemExtendedInfo { /** * Attribute to provide information on various DBs. @@ -5263,13 +5308,11 @@ model DPMProtectedItemExtendedInfo { /** * Last refresh time on backup item. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRefreshedAt?: utcDateTime; /** * Oldest cloud recovery point time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** @@ -5280,13 +5323,11 @@ model DPMProtectedItemExtendedInfo { /** * Oldest disk recovery point time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. onPremiseOldestRecoveryPoint?: utcDateTime; /** * latest disk recovery point time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. onPremiseLatestRecoveryPoint?: utcDateTime; /** @@ -5412,7 +5453,6 @@ model HourlySchedule { /** * To specify start time of the backup window */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. scheduleWindowStartTime?: utcDateTime; /** @@ -5529,7 +5569,6 @@ model GenericRecoveryPoint extends RecoveryPoint { /** * Time at which this backup copy was created. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. recoveryPointTime?: utcDateTime; /** @@ -5561,6 +5600,7 @@ model GetProtectedItemQueryObject { /** * IaaS VM workload specific backup copy. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model IaasVMRecoveryPoint extends RecoveryPoint { /** * Type of the backup copy. @@ -5570,7 +5610,6 @@ model IaasVMRecoveryPoint extends RecoveryPoint { /** * Time at which this backup copy was created. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. recoveryPointTime?: utcDateTime; /** @@ -5696,6 +5735,7 @@ model KeyAndSecretDetails { /** * KEK is encryption key for BEK. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model KEKDetails { /** * Key is KEK. @@ -5762,6 +5802,7 @@ model SecuredVMDetails { /** * Gets or Sets Disk Encryption Set Id for Secured VM OS Disk */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" securedVMOsDiskEncryptionSetId?: string; } @@ -5897,6 +5938,7 @@ alias IaasVMRestoreRequestProperties = { /** * Stores Secured VM Details */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" securedVMDetails?: SecuredVMDetails; /** @@ -5908,6 +5950,7 @@ alias IaasVMRestoreRequestProperties = { /** * IaaS VM workload-specific restore. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model IaasVMRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -5944,13 +5987,11 @@ model JobQueryObject { /** * Job has started at this time. Value is in UTC. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * Job has ended at this time. Value is in UTC. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; } @@ -6148,7 +6189,6 @@ model MabFileFolderProtectedItem extends ProtectedItem { /** * Timestamp of the last backup operation on this backup item. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastBackupTime?: utcDateTime; /** @@ -6159,6 +6199,7 @@ model MabFileFolderProtectedItem extends ProtectedItem { /** * Sync time for deferred deletion in UTC */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" deferredDeleteSyncTimeInUTC?: int64; /** @@ -6179,13 +6220,11 @@ model MabFileFolderProtectedItemExtendedInfo { /** * Last time when the agent data synced to service. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRefreshedAt?: utcDateTime; /** * The oldest backup copy available. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. oldestRecoveryPoint?: utcDateTime; /** @@ -6274,13 +6313,11 @@ model MabJobTaskDetails { /** * The start time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. startTime?: utcDateTime; /** * The end time. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. endTime?: utcDateTime; /** @@ -6504,6 +6541,7 @@ model SimpleSchedulePolicyV2 extends SchedulePolicy { /** * AzureRestoreValidation request. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model ValidateIaasVMRestoreOperationRequest extends ValidateOperationRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -6669,11 +6707,11 @@ model DpmContainer extends ProtectionContainer { /** * Additional information of the DPMContainer. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model DPMContainerExtendedInfo { /** * Last refresh time of the DPMContainer. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRefreshedAt?: utcDateTime; } @@ -6694,7 +6732,7 @@ model AzureFileShareBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -6731,6 +6769,7 @@ model AzureFileShareProtectableItem extends WorkloadProtectableItem { /** * Update snapshot Uri with the correct friendly Name of the source Azure file share. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureFileShareProvisionILRRequest extends ILRRequest { /** * Recovery point ID. @@ -6798,6 +6837,7 @@ model IaaSVMContainer extends ProtectionContainer { /** * IaaS VM workload-specific backup item representing the Classic Compute VM. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSClassicComputeVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6827,6 +6867,7 @@ alias IaaSVMProtectableItemProperties = { /** * IaaS VM workload-specific backup item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model IaaSVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6854,6 +6895,7 @@ model AzureIaaSComputeVMContainer extends ProtectionContainer { /** * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureIaaSComputeVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6866,6 +6908,7 @@ model AzureIaaSComputeVMProtectableItem extends WorkloadProtectableItem { /** * Container for SQL workloads under SQL Availability Group. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureSQLAGWorkloadContainerProtectionContainer extends ProtectionContainer { /** @@ -6888,7 +6931,6 @@ alias AzureWorkloadContainerProperties = { /** * Time stamp when this container was updated. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastUpdatedTime?: utcDateTime; /** @@ -7009,6 +7051,7 @@ model InquiryValidation { /** * Dictionary to store the count of ProtectableItems with key POType. */ + #suppress "@azure-tools/typespec-azure-core/no-unknown" "For backward compatibility" @visibility(Lifecycle.Read) protectableItemCount?: unknown; } @@ -7085,6 +7128,7 @@ model AzureStorageProtectableContainer extends ProtectableContainer { /** * Azure workload-specific container */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVMAppContainerProtectableContainer extends ProtectableContainer { /** * Type of the container. The value of this property for @@ -7097,6 +7141,7 @@ model AzureVMAppContainerProtectableContainer extends ProtectableContainer { /** * Container for SQL workloads under Azure Virtual Machines. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVMAppContainerProtectionContainer extends ProtectionContainer { /** * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. @@ -7231,6 +7276,7 @@ model PreBackupValidation { /** * Azure VM workload-specific protectable item representing SAP ASE Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPAseDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7244,6 +7290,7 @@ model AzureVmWorkloadSAPAseDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SAP ASE Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPAseDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7256,6 +7303,7 @@ model AzureVmWorkloadSAPAseDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP ASE System. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPAseSystemProtectableItem extends WorkloadProtectableItem { /** @@ -7269,6 +7317,7 @@ model AzureVmWorkloadSAPAseSystemProtectableItem /** * Azure VM workload-specific workload item representing SAP ASE System. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPAseSystemWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7281,6 +7330,7 @@ model AzureVmWorkloadSAPAseSystemWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP HANA Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7294,6 +7344,7 @@ model AzureVmWorkloadSAPHanaDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SAP HANA Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7306,6 +7357,7 @@ model AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP HANA System. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaSystemProtectableItem extends WorkloadProtectableItem { /** @@ -7319,6 +7371,7 @@ model AzureVmWorkloadSAPHanaSystemProtectableItem /** * Azure VM workload-specific protectable item representing SAP HANA Dbinstance. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaDBInstance extends WorkloadProtectableItem { /** * Type of the backup item. @@ -7331,6 +7384,7 @@ model AzureVmWorkloadSAPHanaDBInstance extends WorkloadProtectableItem { /** * Azure VM workload-specific protectable item representing HANA HSR. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaHSRProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -7343,6 +7397,7 @@ model AzureVmWorkloadSAPHanaHSRProtectableItem extends WorkloadProtectableItem { /** * Azure VM workload-specific workload item representing SAP HANA System. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSAPHanaSystemWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7355,6 +7410,7 @@ model AzureVmWorkloadSAPHanaSystemWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SQL Availability Group. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLAvailabilityGroupProtectableItem extends WorkloadProtectableItem { /** @@ -7374,6 +7430,7 @@ model AzureVmWorkloadSQLAvailabilityGroupProtectableItem /** * Azure VM workload-specific protectable item representing SQL Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7387,6 +7444,7 @@ model AzureVmWorkloadSQLDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SQL Database. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7399,6 +7457,7 @@ model AzureVmWorkloadSQLDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SQL Instance. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLInstanceProtectableItem extends WorkloadProtectableItem { /** @@ -7412,6 +7471,7 @@ model AzureVmWorkloadSQLInstanceProtectableItem /** * Azure VM workload-specific workload item representing SQL Instance. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVmWorkloadSQLInstanceWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7444,7 +7504,7 @@ model AzureWorkloadBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -7491,6 +7551,7 @@ model AzureResourceProtectionIntent extends ProtectionIntent { /** * AzureResource(IaaS VM) Specific feature support request */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureVMResourceFeatureSupportRequest extends FeatureSupportRequest { /** * Size of the resource: VM size(A/D series etc) in case of IaasVM @@ -7531,6 +7592,7 @@ model AzureWorkloadAutoProtectionIntent extends ProtectionIntent { /** * Azure Workload SQL Auto Protection intent item. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLAutoProtectionIntent extends ProtectionIntent { /** * backup protectionIntent type. @@ -7546,6 +7608,7 @@ model AzureWorkloadSQLAutoProtectionIntent extends ProtectionIntent { /** * Query parameters to fetch backup summaries. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSBackupSummariesQueryObject { /** * Backup management type for this container. @@ -7581,6 +7644,7 @@ model ProtectionIntentQueryObject { /** * Query parameters to fetch list of backup engines. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSBackupEngineQueryObject { /** * attribute to add extended info @@ -7591,6 +7655,7 @@ model BMSBackupEngineQueryObject { /** * Query parameters to fetch list of backup engines. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSBackupEnginesQueryObject { /** * Backup management type for the backup engine. @@ -7611,6 +7676,7 @@ model BMSBackupEnginesQueryObject { /** * The query filters that can be used with the list containers API. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSContainerQueryObject { /** * Backup management type for this container. @@ -7646,6 +7712,7 @@ model BMSContainerQueryObject { /** * The query filters that can be used with the inquire container API. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSContainersInquiryQueryObject { /** * Backup management type for this container. @@ -7691,6 +7758,7 @@ model BmspoQueryObject { /** * The query filters that can be used with the refresh container API. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSRefreshContainersQueryObject { /** * Backup management type for this container. @@ -7701,6 +7769,7 @@ model BMSRefreshContainersQueryObject { /** * Filters to list items that can be backed up. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model BMSWorkloadItemQueryObject { /** * Backup management type. @@ -7836,11 +7905,12 @@ model GenericContainerExtendedInfo { /** * IaaS VM workload-specific backup request. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model IaasVMBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -7946,7 +8016,6 @@ model MabContainerExtendedInfo { /** * Time stamp when this container was refreshed. */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. lastRefreshedAt?: utcDateTime; /** @@ -7973,6 +8042,7 @@ model MabContainerExtendedInfo { /** * MAB workload-specific Health Details. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model MABContainerHealthDetails { /** * Health Code @@ -8034,6 +8104,7 @@ model OperationStatusJobsExtendedInfo extends OperationStatusExtendedInfo { /** * Operation status extended info for ILR provision action. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model OperationStatusProvisionILRExtendedInfo extends OperationStatusExtendedInfo { /** @@ -8066,6 +8137,7 @@ model OperationStatusValidateOperationExtendedInfo /** * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest extends RestoreRequest { /** @@ -8101,6 +8173,7 @@ model RecoveryPointRehydrationInfo { /** * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSAPHanaRestoreWithRehydrateRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8118,6 +8191,7 @@ model AzureWorkloadSAPHanaRestoreWithRehydrateRequest extends RestoreRequest { /** * AzureWorkload SQL-specific restore with integrated rehydration of recovery point. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest extends RestoreRequest { /** @@ -8138,6 +8212,7 @@ model AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest /** * AzureWorkload SQL-specific restore with integrated rehydration of recovery point */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model AzureWorkloadSQLRestoreWithRehydrateRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8156,6 +8231,7 @@ model AzureWorkloadSQLRestoreWithRehydrateRequest extends RestoreRequest { /** * IaaS VM workload-specific restore with integrated rehydration of recovery point. */ +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" model IaasVMRestoreWithRehydrationRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8213,6 +8289,7 @@ model TieringCostRehydrationInfo extends TieringCostInfo { /** * Source tier to target tier rehydration cost per GB per month */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" retailRehydrationCostPerGBPerMonth: float64; /** @@ -8238,11 +8315,13 @@ model TieringCostSavingInfo extends TieringCostInfo { /** * Source tier retail cost per GB per month */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" retailSourceTierCostPerGBPerMonth: float64; /** * Target tier retail cost per GB per month */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" retailTargetTierCostPerGBPerMonth: float64; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index 8c4a2b907438..8fafb436c3f4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -184,10 +184,10 @@ interface JobsOperationGroup { * Triggers export of jobs specified by filters and returns an OperationID to track. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("Jobs_Export") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport") @post - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" export( ...ApiVersionParameter, @@ -310,10 +310,10 @@ interface ValidateOperationResultsOperationGroup { * Fetches the result of a triggered validate operation. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("ValidateOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}") @get - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" get( ...ApiVersionParameter, @@ -371,10 +371,10 @@ interface ProtectionContainerRefreshOperationResultsOperationGroup { * Provides the result of the refresh operation triggered by the BeginRefresh operation. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("ProtectionContainerRefreshOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}") @get - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" get( ...ApiVersionParameter, @@ -441,10 +441,10 @@ interface ProtectionContainersOperationGroup { * asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("ProtectionContainers_Refresh") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers") @post - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" refresh( ...ApiVersionParameter, @@ -480,11 +480,11 @@ interface BackupOperationResultsOperationGroup { * part of the Location header of the operation response. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" @operationId("BackupOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}") @get - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" get( ...ApiVersionParameter, @@ -630,6 +630,7 @@ interface DeletedProtectionContainersOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" interface SecurityPINsOperationGroup { /** * Get the security PIN. @@ -651,6 +652,7 @@ interface SecurityPINsOperationGroup { ...SubscriptionIdParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @header `x-ms-authorization-auxiliary`?: string, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml index e4e04ab999e2..3932dec9a4a5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -1,13 +1,50 @@ +parameters: + "service-dir": + default: "sdk/recoveryservicesbackup" emit: - "@azure-tools/typespec-autorest" options: "@azure-tools/typespec-autorest": - omit-unreachable-types: false + use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/bms.json" - examples-dir: "{project-root}/examples" arm-resource-flattening: false + "@azure-tools/typespec-csharp": + service-dir: "sdk/recoveryservices-backup" + flavor: azure + package-dir: "Azure.ResourceManager.RecoveryServicesBackup" + clear-output-folder: true + model-namespace: true + namespace: "{package-dir}" + "@azure-tools/typespec-python": + service-dir: "sdk/recoveryservices" + package-dir: "azure-mgmt-recoveryservicesbackup" + namespace: "azure.mgmt.recoveryservicesbackup" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-recoveryservicesbackup" + namespace: "com.azure.resourcemanager.recoveryservicesbackup" + service-name: "Azure Resource Manager RecoveryServicesBackup" + flavor: azure + "@azure-tools/typespec-ts": + package-dir: "arm-recoveryservicesbackup" + flavor: azure + experimental-extensible-enums: true + package-details: + name: "@azure/arm-recoveryservicesbackup" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/recoveryservices" + package-dir: "armrecoveryservicesbackup" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 133dfe181cf3..cf3cf268910c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -9117,6 +9117,7 @@ }, "BackupFabricResource": { "type": "object", + "description": "Backup Fabric virtual resource.", "properties": { "name": { "type": "string", @@ -12255,7 +12256,8 @@ "value": "FirstInitialization" } ] - } + }, + "readOnly": true }, "ListRecoveryPointsRecommendedForMoveRequest": { "type": "object", @@ -13081,7 +13083,8 @@ "value": "Canceled" } ] - } + }, + "readOnly": true }, "OperationType": { "type": "string", @@ -14186,7 +14189,8 @@ "value": "Pending" } ] - } + }, + "readOnly": true }, "RecoveryMode": { "type": "string", @@ -14417,7 +14421,7 @@ ], "x-ms-enum": { "name": "RecoveryPointTierType", - "modelAsString": true + "modelAsString": false } }, "RecoveryType": { @@ -15865,7 +15869,8 @@ "value": "Failed" } ] - } + }, + "readOnly": true }, "VaultJob": { "type": "object", @@ -15942,6 +15947,7 @@ }, "VaultResource": { "type": "object", + "description": "Vault virtual resource.", "properties": { "name": { "type": "string", From 69217b10539e72072d8a8371567eba42a3b268ef Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 14:09:46 +0800 Subject: [PATCH 03/40] update operation id --- .../BackupEngineBaseResource.tsp | 6 +- .../BackupResourceConfigResource.tsp | 18 +-- ...sourceEncryptionConfigExtendedResource.tsp | 8 +- .../BackupResourceVaultConfigResource.tsp | 12 +- .../JobResource.tsp | 14 +- .../PrivateEndpointConnectionResource.tsp | 10 +- .../ProtectedItemResource.tsp | 26 ++-- .../ProtectionContainerResource.tsp | 17 +-- .../ProtectionIntentResource.tsp | 6 - .../ProtectionPolicyResource.tsp | 16 +-- .../RecoveryPointResource.tsp | 30 ++-- .../ResourceGuardProxyBaseResource.tsp | 33 ++--- .../back-compatible.tsp | 75 ++++++---- .../RecoveryServices.Management/models.tsp | 2 +- .../RecoveryServices.Management/routes.tsp | 84 +++-------- .../stable/2025-02-01/bms.json | 131 +++++++++++------- 16 files changed, 217 insertions(+), 271 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp index 61db7a51b577..72ecde235896 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -25,12 +25,10 @@ model BackupEngineBaseResource } @armResourceOperations -interface BackupEngineBaseResources { +interface BackupEngines { /** * Returns backup management server registered to Recovery Services Vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupEngines_Get") get is ArmResourceRead< BackupEngineBaseResource, Parameters = { @@ -51,8 +49,6 @@ interface BackupEngineBaseResources { /** * Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupEngines_List") list is ArmResourceListByParent< BackupEngineBaseResource, Parameters = { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index 46a804b8a631..da32ea964573 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -25,8 +25,9 @@ model BackupResourceConfigResource >; } +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @armResourceOperations -interface BackupResourceConfigResources { +interface BackupResourceStorageConfigsNonCRR { /** * Fetches resource storage config. */ @@ -109,8 +110,9 @@ interface BackupResourceConfigOperationResultOps >> > {} +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @armResourceOperations -interface BackupResourceConfigOperationResults { +interface BMSPrepareDataMoveOperationResult { /** * Fetches operation status for data move operation on vault */ @@ -154,10 +156,8 @@ interface BackupResourceConfigOperationStatuses { /** * Fetches Operation Result for Prepare Data Move */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @get - @operationId("GetOperationStatus") - get is BackupResourceConfigOperationStatusOps.Read< + getOperationStatus is BackupResourceConfigOperationStatusOps.Read< BackupResourceConfigResource, Response = ArmResponse >; @@ -167,15 +167,15 @@ interface BackupResourceConfigOperationStatuses { @@doc(BackupResourceConfigResource.properties, "BackupResourceConfigResource properties" ); -@@doc(BackupResourceConfigResources.update::parameters.resource, +@@doc(BackupResourceStorageConfigsNonCRR.update::parameters.resource, "Vault storage config request" ); -@@doc(BackupResourceConfigResources.patch::parameters.properties, +@@doc(BackupResourceStorageConfigsNonCRR.patch::parameters.properties, "Vault storage config request" ); -@@doc(BackupResourceConfigResources.bMSPrepareDataMove::parameters.body, +@@doc(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove::parameters.body, "Prepare data move request" ); -@@doc(BackupResourceConfigResources.bMSTriggerDataMove::parameters.body, +@@doc(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove::parameters.body, "Trigger data move request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp index 4a2b2037e67b..05cf031dc6a3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -37,22 +37,18 @@ model BackupResourceEncryptionConfigResource #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @armResourceOperations -interface BackupResourceEncryptionConfigExtendedResources { +interface BackupResourceEncryptionConfigs { /** * Fetches Vault Encryption config. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupResourceEncryptionConfigs_Get") get is ArmResourceRead; /** * Updates Vault encryption config. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" - @operationId("BackupResourceEncryptionConfigs_Update") update is ArmResourceCreateOrReplaceSync< BackupResourceEncryptionConfigResource, Response = OkResponse @@ -63,7 +59,7 @@ interface BackupResourceEncryptionConfigExtendedResources { @@doc(BackupResourceEncryptionConfigExtendedResource.properties, "BackupResourceEncryptionConfigExtendedResource properties" ); -@@doc(BackupResourceEncryptionConfigExtendedResources.update::parameters.resource, +@@doc(BackupResourceEncryptionConfigs.update::parameters.resource, "Vault encryption input config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index 489a7fcbc42f..92222db98c71 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -27,20 +27,16 @@ model BackupResourceVaultConfigResource #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @armResourceOperations -interface BackupResourceVaultConfigResources { +interface BackupResourceVaultConfigs { /** * Fetches resource vault config. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupResourceVaultConfigs_Get") get is ArmResourceRead; /** * Updates vault security config. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("BackupResourceVaultConfigs_Put") put is ArmResourceCreateOrReplaceSync< BackupResourceVaultConfigResource, Parameters = { @@ -55,9 +51,7 @@ interface BackupResourceVaultConfigResources { /** * Updates vault security config. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @patch(#{ implicitOptionality: false }) - @operationId("BackupResourceVaultConfigs_Update") update is ArmCustomPatchSync< BackupResourceVaultConfigResource, PatchModel = BackupResourceVaultConfigResource, @@ -74,9 +68,9 @@ interface BackupResourceVaultConfigResources { @@doc(BackupResourceVaultConfigResource.properties, "BackupResourceVaultConfigResource properties" ); -@@doc(BackupResourceVaultConfigResources.put::parameters.resource, +@@doc(BackupResourceVaultConfigs.put::parameters.resource, "resource config request" ); -@@doc(BackupResourceVaultConfigResources.update::parameters.properties, +@@doc(BackupResourceVaultConfigs.update::parameters.properties, "resource config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index c8ea8da390b6..3dd276ae030b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -24,19 +24,18 @@ model JobResource is Azure.ResourceManager.TrackedResource { } @armResourceOperations -interface JobResources { +interface JobDetails { /** * Gets extended information associated with the job. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("JobDetails_Get") get is ArmResourceRead; +} +@armResourceOperations +interface BackupJobs { /** * Provides a pageable list of jobs. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupJobs_List") list is ArmResourceListByParent< JobResource, Parameters = { @@ -54,16 +53,17 @@ interface JobResources { }, Response = ArmResponse >; +} +@armResourceOperations +interface JobCancellations { /** * Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call * GetCancelOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("cancel") - @operationId("JobCancellations_Trigger") trigger is ArmResourceActionSync; } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp index ca77f9ac7ad4..0912aad4003b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -29,15 +29,11 @@ interface PrivateEndpointConnectionResources { /** * Get Private Endpoint Connection. This call is made by Backup Admin. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("PrivateEndpointConnection_Get") get is ArmResourceRead; /** * Approve or Reject Private Endpoint requests. This call is made by Backup Admin. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("PrivateEndpointConnection_Put") put is ArmResourceCreateOrReplaceAsync< PrivateEndpointConnectionResource, LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader @@ -46,9 +42,7 @@ interface PrivateEndpointConnectionResources { /** * Delete Private Endpoint requests. This call is made by Backup Admin. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - @operationId("PrivateEndpointConnection_Delete") delete is ArmResourceDeleteWithoutOkAsync< PrivateEndpointConnectionResource, Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse @@ -87,10 +81,8 @@ interface PrivateEndpointOperationStatuses { /** * Gets the operation status for a private endpoint connection. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @get - @operationId("PrivateEndpoint_GetOperationStatus") - get is PrivateEndpointOperationStatusOps.Read< + getOperationStatus is PrivateEndpointOperationStatusOps.Read< PrivateEndpointConnectionResource, Response = ArmResponse >; diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index 7455e94b9184..26b97d989aee 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -27,13 +27,11 @@ model ProtectedItemResource } @armResourceOperations -interface ProtectedItemResources { +interface ProtectedItems { /** * Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, * call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectedItems_Get") get is ArmResourceRead< ProtectedItemResource, Parameters = { @@ -49,10 +47,8 @@ interface ProtectedItemResources { * Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an * asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectedItems_CreateOrUpdate") createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectedItemResource, Parameters = { @@ -68,36 +64,36 @@ interface ProtectedItemResources { * Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the * request, call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectedItems_Delete") delete is ArmResourceDeleteSync< ProtectedItemResource, Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse >; +} +@armResourceOperations +interface Backups { /** * Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the * operation, call GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("backup") - @operationId("Backups_Trigger") trigger is ArmResourceActionSync< ProtectedItemResource, BackupRequestResource, AcceptedResponse >; +} +@armResourceOperations +interface RecoveryPointsRecommendedForMove { /** * Lists the recovery points recommended for move to another tier */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @action("recoveryPointsRecommendedForMove") - @operationId("RecoveryPointsRecommendedForMove_List") list is ArmResourceActionSync< ProtectedItemResource, ListRecoveryPointsRecommendedForMoveRequest, @@ -206,12 +202,10 @@ interface ProtectedItemOperationResults { "Backed up item name whose details are to be fetched." ); @@doc(ProtectedItemResource.properties, "ProtectedItemResource properties"); -@@doc(ProtectedItemResources.createOrUpdate::parameters.resource, +@@doc(ProtectedItems.createOrUpdate::parameters.resource, "resource backed up item" ); -@@doc(ProtectedItemResources.trigger::parameters.body, - "resource backup request" -); -@@doc(ProtectedItemResources.list::parameters.body, +@@doc(Backups.trigger::parameters.body, "resource backup request"); +@@doc(RecoveryPointsRecommendedForMove.list::parameters.body, "List Recovery points Recommended for Move Request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index f889a7e5fd32..c72081aa1709 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -25,12 +25,10 @@ model ProtectionContainerResource } @armResourceOperations -interface ProtectionContainerResources { +interface ProtectionContainers { /** * Gets details of the specific container registered to your Recovery Services Vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectionContainers_Get") get is ArmResourceRead; /** @@ -38,9 +36,7 @@ interface ProtectionContainerResources { * This is an asynchronous operation. To track the operation status, use location header to call get latest status of * the operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("ProtectionContainers_Register") register is ArmResourceCreateOrUpdateAsync< ProtectionContainerResource, Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse, @@ -51,10 +47,8 @@ interface ProtectionContainerResources { * Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine * whether the backend service has finished processing the request, call Get Container Operation Result API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectionContainers_Unregister") unregister is ArmResourceDeleteSync< ProtectionContainerResource, Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse @@ -63,10 +57,8 @@ interface ProtectionContainerResources { /** * This is an async operation and the results should be tracked using location header or Azure-async-url. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" - @operationId("ProtectionContainers_Inquire") inquire is ArmResourceActionSync< ProtectionContainerResource, void, @@ -79,15 +71,16 @@ interface ProtectionContainerResources { $filter?: string; } >; +} +@armResourceOperations +interface BackupWorkloadItems { /** * Provides a pageable list of workload item of a specific container according to the query filter and the pagination * parameters. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @get @action("items") - @operationId("BackupWorkloadItems_List") list is ArmResourceActionSync< ProtectionContainerResource, void, @@ -156,6 +149,6 @@ interface ProtectionContainerOperationResults { @@doc(ProtectionContainerResource.properties, "ProtectionContainerResource properties" ); -@@doc(ProtectionContainerResources.register::parameters.resource, +@@doc(ProtectionContainers.register::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp index 9983bfe6cc45..8d2ee748301e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp @@ -30,16 +30,12 @@ interface ProtectionIntentResources { * Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation, * call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectionIntent_Get") get is ArmResourceRead; /** * Create Intent for Enabling backup of an item. This is a synchronous operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("ProtectionIntent_CreateOrUpdate") createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectionIntentResource, Response = ArmResourceUpdatedResponse @@ -48,9 +44,7 @@ interface ProtectionIntentResources { /** * Used to remove intent from an item */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - @operationId("ProtectionIntent_Delete") delete is ArmResourceDeleteSync< ProtectionIntentResource, Response = ArmDeletedNoContentResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 16e8d69a0062..0e1421060150 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -25,23 +25,19 @@ model ProtectionPolicyResource } @armResourceOperations -interface ProtectionPolicyResources { +interface ProtectionPolicies { /** * Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous * operation. Status of the operation can be fetched using GetPolicyOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectionPolicies_Get") get is ArmResourceRead; /** * Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched * using GetPolicyOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectionPolicies_CreateOrUpdate") createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectionPolicyResource, Parameters = { @@ -57,21 +53,20 @@ interface ProtectionPolicyResources { * Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the * operation can be fetched using GetProtectionPolicyOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - @operationId("ProtectionPolicies_Delete") delete is ArmResourceDeleteAsyncBase< ProtectionPolicyResource, Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse >; +} +@armResourceOperations +interface BackupPolicies { /** * Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch * scoped results. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupPolicies_List") list is ArmResourceListByParent< ProtectionPolicyResource, Parameters = { @@ -154,7 +149,6 @@ interface ProtectionPolicyOperationStatuses { * or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations * create jobs. This method returns the list of jobs associated with operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @get get is ProtectionPolicyOperationStatusOps.Read; } @@ -165,6 +159,6 @@ interface ProtectionPolicyOperationStatuses { @@doc(ProtectionPolicyResource.properties, "ProtectionPolicyResource properties" ); -@@doc(ProtectionPolicyResources.createOrUpdate::parameters.resource, +@@doc(ProtectionPolicies.createOrUpdate::parameters.resource, "resource backup policy" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp index da1cb7739773..55481b03a5a1 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -27,20 +27,16 @@ model RecoveryPointResource } @armResourceOperations -interface RecoveryPointResources { +interface RecoveryPoints { /** * Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. * To know the status of the operation, call the GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("RecoveryPoints_Get") get is ArmResourceRead; /** * Lists the backup copies for the backed up item. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("RecoveryPoints_List") list is ArmResourceListByParent< RecoveryPointResource, Parameters = { @@ -56,23 +52,22 @@ interface RecoveryPointResources { /** * Move recovery point from one datastore to another store. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @action("move") - @operationId("MoveRecoveryPoint") moveRecoveryPoint is ArmResourceActionAsyncBase< RecoveryPointResource, MoveRPAcrossTiersRequest, ArmAcceptedLroResponse, BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters >; +} +@armResourceOperations +interface Restores { /** * Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use * GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @action("restore") - @operationId("Restores_Trigger") trigger is ArmResourceActionAsyncBase< RecoveryPointResource, RestoreRequestResource, @@ -85,17 +80,18 @@ interface RecoveryPointResources { `x-ms-authorization-auxiliary`?: string; } >; +} +@armResourceOperations +interface ItemLevelRecoveryConnections { /** * Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file * explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of * provisioning, call GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("provisionInstantItemRecovery") - @operationId("ItemLevelRecoveryConnections_Provision") provision is ArmResourceActionSync< RecoveryPointResource, ILRRequestResource, @@ -106,11 +102,9 @@ interface RecoveryPointResources { * Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer * displaying all recoverable files and folders. This is an asynchronous operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" @action("revokeInstantItemRecovery") - @operationId("ItemLevelRecoveryConnections_Revoke") revoke is ArmResourceActionSync< RecoveryPointResource, void, @@ -122,12 +116,8 @@ interface RecoveryPointResources { "RecoveryPointID represents the backed up data to be fetched." ); @@doc(RecoveryPointResource.properties, "RecoveryPointResource properties"); -@@doc(RecoveryPointResources.moveRecoveryPoint::parameters.body, +@@doc(RecoveryPoints.moveRecoveryPoint::parameters.body, "Move Resource Across Tiers Request" ); -@@doc(RecoveryPointResources.trigger::parameters.body, - "resource restore request" -); -@@doc(RecoveryPointResources.provision::parameters.body, - "resource ILR request" -); +@@doc(Restores.trigger::parameters.body, "resource restore request"); +@@doc(ItemLevelRecoveryConnections.provision::parameters.body, "resource ILR request"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp index 6774bb44a861..53a518acfe04 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -23,21 +23,17 @@ model ResourceGuardProxyBaseResource } @armResourceOperations -interface ResourceGuardProxyBaseResources { +interface ResourceGuardProxy { /** * Returns ResourceGuardProxy under vault and with the name referenced in request */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ResourceGuardProxy_Get") get is ArmResourceRead; /** * Add or Update ResourceGuardProxy under vault * Secures vault critical operations */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("ResourceGuardProxy_Put") put is ArmResourceCreateOrReplaceSync< ResourceGuardProxyBaseResource, Response = ArmResourceUpdatedResponse @@ -46,29 +42,26 @@ interface ResourceGuardProxyBaseResources { /** * Delete ResourceGuardProxy under vault */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ResourceGuardProxy_Delete") delete is ArmResourceDeleteSync; /** - * List the ResourceGuardProxies under vault + * Secures delete ResourceGuardProxy operations. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ResourceGuardProxies_Get") - resourceGuardProxiesGet is ArmResourceListByParent< + unlockDelete is ArmResourceActionSync< ResourceGuardProxyBaseResource, - Response = ArmResponse + UnlockDeleteRequest, + ArmResponse >; +} +@armResourceOperations +interface ResourceGuardProxies { /** - * Secures delete ResourceGuardProxy operations. + * List the ResourceGuardProxies under vault */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ResourceGuardProxy_UnlockDelete") - unlockDelete is ArmResourceActionSync< + get is ArmResourceListByParent< ResourceGuardProxyBaseResource, - UnlockDeleteRequest, - ArmResponse + Response = ArmResponse >; } @@ -76,9 +69,9 @@ interface ResourceGuardProxyBaseResources { @@doc(ResourceGuardProxyBaseResource.properties, "ResourceGuardProxyBaseResource properties" ); -@@doc(ResourceGuardProxyBaseResources.put::parameters.resource, +@@doc(ResourceGuardProxy.put::parameters.resource, "Request body for operation" ); -@@doc(ResourceGuardProxyBaseResources.unlockDelete::parameters.body, +@@doc(ResourceGuardProxy.unlockDelete::parameters.body, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index c521d710e140..6289f218d8a1 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -3,16 +3,16 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; using Microsoft.RecoveryServices; -@@clientName(BackupResourceConfigResources.update::parameters.resource, +@@clientName(BackupResourceStorageConfigsNonCRR.update::parameters.resource, "parameters" ); -@@clientName(BackupResourceConfigResources.patch::parameters.properties, +@@clientName(BackupResourceStorageConfigsNonCRR.patch::parameters.properties, "parameters" ); -@@clientName(BackupResourceConfigResources.bMSPrepareDataMove::parameters.body, +@@clientName(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove::parameters.body, "parameters" ); -@@clientName(BackupResourceConfigResources.bMSTriggerDataMove::parameters.body, +@@clientName(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove::parameters.body, "parameters" ); @@ -20,14 +20,12 @@ using Microsoft.RecoveryServices; "parameters" ); -@@clientName(BackupResourceVaultConfigResources.put::parameters.resource, - "parameters" -); -@@clientName(BackupResourceVaultConfigResources.update::parameters.properties, +@@clientName(BackupResourceVaultConfigs.put::parameters.resource, "parameters"); +@@clientName(BackupResourceVaultConfigs.update::parameters.properties, "parameters" ); -@@clientName(BackupResourceEncryptionConfigExtendedResources.update::parameters.resource, +@@clientName(BackupResourceEncryptionConfigs.update::parameters.resource, "parameters" ); @@ -35,29 +33,58 @@ using Microsoft.RecoveryServices; "parameters" ); -@@clientName(ProtectedItemResources.createOrUpdate::parameters.resource, +@@clientName(ProtectedItems.createOrUpdate::parameters.resource, "parameters"); +@@clientName(Backups.trigger::parameters.body, "parameters"); +@@clientName(RecoveryPointsRecommendedForMove.list::parameters.body, "parameters" ); -@@clientName(ProtectedItemResources.trigger::parameters.body, "parameters"); -@@clientName(ProtectedItemResources.list::parameters.body, "parameters"); -@@clientName(RecoveryPointResources.moveRecoveryPoint::parameters.body, - "parameters" -); -@@clientName(RecoveryPointResources.trigger::parameters.body, "parameters"); -@@clientName(RecoveryPointResources.provision::parameters.body, "parameters"); +@@clientName(RecoveryPoints.moveRecoveryPoint::parameters.body, "parameters"); +@@clientName(Restores.trigger::parameters.body, "parameters"); +@@clientName(ItemLevelRecoveryConnections.provision::parameters.body, "parameters"); -@@clientName(ProtectionPolicyResources.createOrUpdate::parameters.resource, +@@clientName(ProtectionPolicies.createOrUpdate::parameters.resource, "parameters" ); -@@clientName(ProtectionContainerResources.register::parameters.resource, - "parameters" +@@clientName(ProtectionContainers.register::parameters.resource, "parameters"); + +@@clientName(ResourceGuardProxy.put::parameters.resource, "parameters"); +@@clientName(ResourceGuardProxy.unlockDelete::parameters.body, "parameters"); + +@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, + Microsoft.RecoveryServices +); +@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, + Microsoft.RecoveryServices +); +@@clientLocation(BackupResourceConfigOperationStatuses.getOperationStatus, + Microsoft.RecoveryServices ); -@@clientName(ResourceGuardProxyBaseResources.put::parameters.resource, - "parameters" +@@clientLocation(PrivateEndpointConnectionResources.get, + "PrivateEndpointConnection" ); -@@clientName(ResourceGuardProxyBaseResources.unlockDelete::parameters.body, - "parameters" +@@clientLocation(PrivateEndpointConnectionResources.put, + "PrivateEndpointConnection" +); +@@clientLocation(PrivateEndpointConnectionResources.delete, + "PrivateEndpointConnection" ); +@@clientLocation(PrivateEndpointOperationStatuses.getOperationStatus, + "PrivateEndpoint" +); + +@@clientLocation(ProtectionIntentResources.get, "ProtectionIntent"); +@@clientLocation(ProtectionIntentResources.createOrUpdate, "ProtectionIntent"); +@@clientLocation(ProtectionIntentResources.delete, "ProtectionIntent"); + +@@clientLocation(RecoveryPoints.moveRecoveryPoint, Microsoft.RecoveryServices); + +@@clientLocation(ProtectionContainersOperationGroup.refresh, ProtectionContainers); + +@@clientLocation(ProtectionIntentOperationGroup.validate, "ProtectionIntent"); + +@@clientLocation(OperationOperationGroup.validate, + "Operation" +); \ No newline at end of file diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index f86bc0cdccda..f6a9056e5db5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -2834,8 +2834,8 @@ model ILRRequestResource extends Resource { /** * Parameters to Provision ILR API. */ -@discriminator("objectType") #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +@discriminator("objectType") model ILRRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index 8fafb436c3f4..093fbcdb29cd 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -21,14 +21,12 @@ interface ProtectionIntentOperationGroup { * 2. VM is already protected * 3. Any VM related configuration passed in properties. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary(""" It will validate followings 1. Vault capacity 2. VM is already protected 3. Any VM related configuration passed in properties. """) - @operationId("ProtectionIntent_Validate") @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection") @post validate( @@ -51,13 +49,11 @@ interface ProtectionIntentOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupStatusOperationGroup { +interface BackupStatus { /** * Get the container backup status */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary("Get the container backup status") - @operationId("BackupStatus_Get") @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus") @post get( @@ -80,13 +76,11 @@ interface BackupStatusOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface FeatureSupportOperationGroup { +interface FeatureSupport { /** * It will validate if given feature with resource properties is supported in service */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary("It will validate if given feature with resource properties is supported in service") - @operationId("FeatureSupport_Validate") @route("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures") @post validate( @@ -109,12 +103,10 @@ interface FeatureSupportOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupProtectionIntentOperationGroup { +interface BackupProtectionIntent { /** * Provides a pageable list of all intents that are present within a vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupProtectionIntent_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents") @get list( @@ -144,12 +136,10 @@ interface BackupProtectionIntentOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupUsageSummariesOperationGroup { +interface BackupUsageSummaries { /** * Fetches the backup management usage summaries of the vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupUsageSummaries_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries") @get list( @@ -179,13 +169,11 @@ interface BackupUsageSummariesOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface JobsOperationGroup { +interface Jobs { /** * Triggers export of jobs specified by filters and returns an OperationID to track. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("Jobs_Export") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport") @post export( @@ -209,12 +197,10 @@ interface JobsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupProtectedItemsOperationGroup { +interface BackupProtectedItems { /** * Provides a pageable list of all items that are backed up within a vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupProtectedItems_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems") @get list( @@ -248,8 +234,6 @@ interface OperationOperationGroup { /** * Validate operation for specified backed up item. This is a synchronous operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("Operation_Validate") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperation") @post validate( @@ -273,12 +257,10 @@ interface OperationOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface ValidateOperationOperationGroup { +interface ValidateOperation { /** * Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ValidateOperation_Trigger") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation") @post trigger( @@ -305,13 +287,11 @@ interface ValidateOperationOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface ValidateOperationResultsOperationGroup { +interface ValidateOperationResults { /** * Fetches the result of a triggered validate operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ValidateOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}") @get get( @@ -335,14 +315,12 @@ interface ValidateOperationResultsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface ValidateOperationStatusesOperationGroup { +interface ValidateOperationStatuses { /** * Fetches the status of a triggered validate operation. The status can be in progress, completed * or failed. You can refer to the OperationStatus enum for all the possible states of the operation. * If operation has completed, this method returns the list of errors obtained while validating the operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ValidateOperationStatuses_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}") @get get( @@ -366,13 +344,11 @@ interface ValidateOperationStatusesOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface ProtectionContainerRefreshOperationResultsOperationGroup { +interface ProtectionContainerRefreshOperationResults { /** * Provides the result of the refresh operation triggered by the BeginRefresh operation. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectionContainerRefreshOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}") @get get( @@ -402,12 +378,10 @@ interface ProtectionContainerRefreshOperationResultsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface ProtectableContainersOperationGroup { +interface ProtectableContainers { /** * Lists the containers that can be registered to Recovery Services Vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("ProtectableContainers_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers") @get list( @@ -440,9 +414,7 @@ interface ProtectionContainersOperationGroup { * Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an * asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("ProtectionContainers_Refresh") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers") @post refresh( @@ -472,17 +444,15 @@ interface ProtectionContainersOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupOperationResultsOperationGroup { +interface BackupOperationResults { /** * Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the * status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On * successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is * part of the Location header of the operation response. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("BackupOperationResults_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}") @get get( @@ -506,14 +476,12 @@ interface BackupOperationResultsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupOperationStatusesOperationGroup { +interface BackupOperationStatuses { /** * Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed * or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations * create jobs. This method returns the list of jobs when the operation is complete. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupOperationStatuses_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}") @get get( @@ -537,13 +505,11 @@ interface BackupOperationStatusesOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupProtectableItemsOperationGroup { +interface BackupProtectableItems { /** * Provides a pageable list of protectable objects within your subscription according to the query filter and the * pagination parameters. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupProtectableItems_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems") @get list( @@ -573,12 +539,10 @@ interface BackupProtectableItemsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface BackupProtectionContainersOperationGroup { +interface BackupProtectionContainers { /** * Lists the containers registered to Recovery Services Vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupProtectionContainers_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers") @get list( @@ -602,12 +566,10 @@ interface BackupProtectionContainersOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface DeletedProtectionContainersOperationGroup { +interface DeletedProtectionContainers { /** * Lists the soft deleted containers registered to Recovery Services Vault. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("DeletedProtectionContainers_List") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers") @get list( @@ -631,7 +593,7 @@ interface DeletedProtectionContainersOperationGroup { #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -interface SecurityPINsOperationGroup { +interface SecurityPINs { /** * Get the security PIN. */ @@ -665,13 +627,11 @@ interface SecurityPINsOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface FetchTieringCostOperationGroup { +interface FetchTieringCost { /** * Provides the details of the tiering related sizes and cost. * Status of the operation can be fetched using GetTieringCostOperationStatus API and result using GetTieringCostOperationResult API. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("FetchTieringCost_Post") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/fetchTieringCost") @post post( @@ -705,12 +665,10 @@ interface FetchTieringCostOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface GetTieringCostOperationResultOperationGroup { +interface GetTieringCostOperationResult { /** * Gets the result of async operation for tiering cost */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("GetTieringCostOperationResult_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationResults/{operationId}") @get get( @@ -734,12 +692,10 @@ interface GetTieringCostOperationResultOperationGroup { } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -interface TieringCostOperationStatusOperationGroup { +interface TieringCostOperationStatus { /** * Gets the status of async operations of tiering cost */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("TieringCostOperationStatus_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTieringCost/default/operationsStatus/{operationId}") @get get( diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index cf3cf268910c..bc77f363543f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -43,10 +43,10 @@ "name": "Operations" }, { - "name": "BackupResourceConfigResources" + "name": "BackupResourceStorageConfigsNonCRR" }, { - "name": "BackupResourceConfigOperationResults" + "name": "BMSPrepareDataMoveOperationResult" }, { "name": "BackupResourceConfigOperationStatuses" @@ -55,10 +55,10 @@ "name": "ProtectionIntentResources" }, { - "name": "BackupResourceVaultConfigResources" + "name": "BackupResourceVaultConfigs" }, { - "name": "BackupResourceEncryptionConfigExtendedResources" + "name": "BackupResourceEncryptionConfigs" }, { "name": "PrivateEndpointConnectionResources" @@ -67,7 +67,13 @@ "name": "PrivateEndpointOperationStatuses" }, { - "name": "ProtectedItemResources" + "name": "ProtectedItems" + }, + { + "name": "Backups" + }, + { + "name": "RecoveryPointsRecommendedForMove" }, { "name": "ProtectedItemOperationStatuses" @@ -76,16 +82,28 @@ "name": "ProtectedItemOperationResults" }, { - "name": "ProtectionContainerResources" + "name": "ProtectionContainers" + }, + { + "name": "BackupWorkloadItems" }, { "name": "ProtectionContainerOperationResults" }, { - "name": "RecoveryPointResources" + "name": "RecoveryPoints" + }, + { + "name": "Restores" + }, + { + "name": "ItemLevelRecoveryConnections" + }, + { + "name": "ProtectionPolicies" }, { - "name": "ProtectionPolicyResources" + "name": "BackupPolicies" }, { "name": "ProtectionPolicyOperationResults" @@ -94,7 +112,13 @@ "name": "ProtectionPolicyOperationStatuses" }, { - "name": "JobResources" + "name": "JobDetails" + }, + { + "name": "BackupJobs" + }, + { + "name": "JobCancellations" }, { "name": "JobOperationResults" @@ -103,10 +127,13 @@ "name": "ExportJobsOperationResults" }, { - "name": "BackupEngineBaseResources" + "name": "BackupEngines" + }, + { + "name": "ResourceGuardProxy" }, { - "name": "ResourceGuardProxyBaseResources" + "name": "ResourceGuardProxies" } ], "paths": { @@ -353,7 +380,7 @@ "get": { "operationId": "BackupResourceEncryptionConfigs_Get", "tags": [ - "BackupResourceEncryptionConfigExtendedResources" + "BackupResourceEncryptionConfigs" ], "description": "Fetches Vault Encryption config.", "parameters": [ @@ -397,7 +424,7 @@ "put": { "operationId": "BackupResourceEncryptionConfigs_Update", "tags": [ - "BackupResourceEncryptionConfigExtendedResources" + "BackupResourceEncryptionConfigs" ], "description": "Updates Vault encryption config.", "parameters": [ @@ -449,7 +476,7 @@ "get": { "operationId": "BackupEngines_List", "tags": [ - "BackupEngineBaseResources" + "BackupEngines" ], "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", "parameters": [ @@ -512,7 +539,7 @@ "get": { "operationId": "BackupEngines_Get", "tags": [ - "BackupEngineBaseResources" + "BackupEngines" ], "description": "Returns backup management server registered to Recovery Services Vault.", "parameters": [ @@ -884,7 +911,7 @@ "get": { "operationId": "ProtectionContainers_Get", "tags": [ - "ProtectionContainerResources" + "ProtectionContainers" ], "description": "Gets details of the specific container registered to your Recovery Services Vault.", "parameters": [ @@ -942,7 +969,7 @@ "put": { "operationId": "ProtectionContainers_Register", "tags": [ - "ProtectionContainerResources" + "ProtectionContainers" ], "description": "Registers the container with Recovery Services vault.\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\nthe operation.", "parameters": [ @@ -1027,7 +1054,7 @@ "delete": { "operationId": "ProtectionContainers_Unregister", "tags": [ - "ProtectionContainerResources" + "ProtectionContainers" ], "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", "parameters": [ @@ -1090,7 +1117,7 @@ "post": { "operationId": "ProtectionContainers_Inquire", "tags": [ - "ProtectionContainerResources" + "ProtectionContainers" ], "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", "parameters": [ @@ -1154,7 +1181,7 @@ "get": { "operationId": "BackupWorkloadItems_List", "tags": [ - "ProtectionContainerResources" + "BackupWorkloadItems" ], "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\nparameters.", "parameters": [ @@ -1304,7 +1331,7 @@ "get": { "operationId": "ProtectedItems_Get", "tags": [ - "ProtectedItemResources" + "ProtectedItems" ], "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\ncall the GetItemOperationResult API.", "parameters": [ @@ -1379,7 +1406,7 @@ "put": { "operationId": "ProtectedItems_CreateOrUpdate", "tags": [ - "ProtectedItemResources" + "ProtectedItems" ], "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", "parameters": [ @@ -1465,7 +1492,7 @@ "delete": { "operationId": "ProtectedItems_Delete", "tags": [ - "ProtectedItemResources" + "ProtectedItems" ], "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\nrequest, call the GetItemOperationResult API.", "parameters": [ @@ -1535,7 +1562,7 @@ "post": { "operationId": "Backups_Trigger", "tags": [ - "ProtectedItemResources" + "Backups" ], "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\noperation, call GetProtectedItemOperationResult API.", "parameters": [ @@ -1762,7 +1789,7 @@ "get": { "operationId": "RecoveryPoints_List", "tags": [ - "RecoveryPointResources" + "RecoveryPoints" ], "description": "Lists the backup copies for the backed up item.", "parameters": [ @@ -1839,7 +1866,7 @@ "get": { "operationId": "RecoveryPoints_Get", "tags": [ - "RecoveryPointResources" + "RecoveryPoints" ], "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\nTo know the status of the operation, call the GetProtectedItemOperationResult API.", "parameters": [ @@ -1913,7 +1940,7 @@ "post": { "operationId": "MoveRecoveryPoint", "tags": [ - "RecoveryPointResources" + "RecoveryPoints" ], "description": "Move recovery point from one datastore to another store.", "parameters": [ @@ -2008,7 +2035,7 @@ "post": { "operationId": "ItemLevelRecoveryConnections_Provision", "tags": [ - "RecoveryPointResources" + "ItemLevelRecoveryConnections" ], "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\nprovisioning, call GetProtectedItemOperationResult API.", "parameters": [ @@ -2088,7 +2115,7 @@ "post": { "operationId": "Restores_Trigger", "tags": [ - "RecoveryPointResources" + "Restores" ], "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\nGetProtectedItemOperationResult API.", "parameters": [ @@ -2207,7 +2234,7 @@ "post": { "operationId": "ItemLevelRecoveryConnections_Revoke", "tags": [ - "RecoveryPointResources" + "ItemLevelRecoveryConnections" ], "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\ndisplaying all recoverable files and folders. This is an asynchronous operation.", "parameters": [ @@ -2278,7 +2305,7 @@ "post": { "operationId": "RecoveryPointsRecommendedForMove_List", "tags": [ - "ProtectedItemResources" + "RecoveryPointsRecommendedForMove" ], "description": "Lists the recovery points recommended for move to another tier", "parameters": [ @@ -2418,7 +2445,7 @@ "get": { "operationId": "BackupJobs_List", "tags": [ - "JobResources" + "BackupJobs" ], "description": "Provides a pageable list of jobs.", "parameters": [ @@ -2487,7 +2514,7 @@ "get": { "operationId": "JobDetails_Get", "tags": [ - "JobResources" + "JobDetails" ], "description": "Gets extended information associated with the job.", "parameters": [ @@ -2540,7 +2567,7 @@ "post": { "operationId": "JobCancellations_Trigger", "tags": [ - "JobResources" + "JobCancellations" ], "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\nGetCancelOperationResult API.", "parameters": [ @@ -2876,7 +2903,7 @@ "get": { "operationId": "BackupPolicies_List", "tags": [ - "ProtectionPolicyResources" + "BackupPolicies" ], "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\nscoped results.", "parameters": [ @@ -2938,7 +2965,7 @@ "get": { "operationId": "ProtectionPolicies_Get", "tags": [ - "ProtectionPolicyResources" + "ProtectionPolicies" ], "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.", "parameters": [ @@ -2992,7 +3019,7 @@ "put": { "operationId": "ProtectionPolicies_CreateOrUpdate", "tags": [ - "ProtectionPolicyResources" + "ProtectionPolicies" ], "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\nusing GetPolicyOperationResult API.", "parameters": [ @@ -3082,7 +3109,7 @@ "delete": { "operationId": "ProtectionPolicies_Delete", "tags": [ - "ProtectionPolicyResources" + "ProtectionPolicies" ], "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\noperation can be fetched using GetProtectionPolicyOperationResult API.", "parameters": [ @@ -3506,7 +3533,7 @@ "get": { "operationId": "ResourceGuardProxies_Get", "tags": [ - "ResourceGuardProxyBaseResources" + "ResourceGuardProxies" ], "description": "List the ResourceGuardProxies under vault", "parameters": [ @@ -3555,7 +3582,7 @@ "get": { "operationId": "ResourceGuardProxy_Get", "tags": [ - "ResourceGuardProxyBaseResources" + "ResourceGuardProxy" ], "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", "parameters": [ @@ -3606,7 +3633,7 @@ "put": { "operationId": "ResourceGuardProxy_Put", "tags": [ - "ResourceGuardProxyBaseResources" + "ResourceGuardProxy" ], "description": "Add or Update ResourceGuardProxy under vault\nSecures vault critical operations", "parameters": [ @@ -3666,7 +3693,7 @@ "delete": { "operationId": "ResourceGuardProxy_Delete", "tags": [ - "ResourceGuardProxyBaseResources" + "ResourceGuardProxy" ], "description": "Delete ResourceGuardProxy under vault", "parameters": [ @@ -3719,7 +3746,7 @@ "post": { "operationId": "ResourceGuardProxy_UnlockDelete", "tags": [ - "ResourceGuardProxyBaseResources" + "ResourceGuardProxy" ], "description": "Secures delete ResourceGuardProxy operations.", "parameters": [ @@ -4317,7 +4344,7 @@ "get": { "operationId": "BackupResourceVaultConfigs_Get", "tags": [ - "BackupResourceVaultConfigResources" + "BackupResourceVaultConfigs" ], "description": "Fetches resource vault config.", "parameters": [ @@ -4361,7 +4388,7 @@ "put": { "operationId": "BackupResourceVaultConfigs_Put", "tags": [ - "BackupResourceVaultConfigResources" + "BackupResourceVaultConfigs" ], "description": "Updates vault security config.", "parameters": [ @@ -4420,7 +4447,7 @@ "patch": { "operationId": "BackupResourceVaultConfigs_Update", "tags": [ - "BackupResourceVaultConfigResources" + "BackupResourceVaultConfigs" ], "description": "Updates vault security config.", "parameters": [ @@ -4481,7 +4508,7 @@ "get": { "operationId": "BackupResourceStorageConfigsNonCRR_Get", "tags": [ - "BackupResourceConfigResources" + "BackupResourceStorageConfigsNonCRR" ], "description": "Fetches resource storage config.", "parameters": [ @@ -4525,7 +4552,7 @@ "put": { "operationId": "BackupResourceStorageConfigsNonCRR_Update", "tags": [ - "BackupResourceConfigResources" + "BackupResourceStorageConfigsNonCRR" ], "description": "Updates vault storage model type.", "parameters": [ @@ -4578,7 +4605,7 @@ "patch": { "operationId": "BackupResourceStorageConfigsNonCRR_patch", "tags": [ - "BackupResourceConfigResources" + "BackupResourceStorageConfigsNonCRR" ], "description": "Updates vault storage model type.", "parameters": [ @@ -4630,7 +4657,7 @@ "get": { "operationId": "BMSPrepareDataMoveOperationResult_Get", "tags": [ - "BackupResourceConfigOperationResults" + "BMSPrepareDataMoveOperationResult" ], "description": "Fetches operation status for data move operation on vault", "parameters": [ @@ -4739,7 +4766,7 @@ "post": { "operationId": "BMSPrepareDataMove", "tags": [ - "BackupResourceConfigResources" + "BackupResourceStorageConfigsNonCRR" ], "description": "Prepares source vault for Data Move operation", "parameters": [ @@ -4809,7 +4836,7 @@ "post": { "operationId": "BMSTriggerDataMove", "tags": [ - "BackupResourceConfigResources" + "BackupResourceStorageConfigsNonCRR" ], "description": "Triggers Data Move Operation on target vault", "parameters": [ From 5c49eac05567d687cc270d01be5985395a2c6ed7 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 14:45:56 +0800 Subject: [PATCH 04/40] update --- .../BackupEngineBaseResource.tsp | 1 + .../JobResource.tsp | 1 + .../ProtectedItemResource.tsp | 1 + .../ProtectionContainerResource.tsp | 1 + .../ProtectionPolicyResource.tsp | 1 + .../RecoveryPointResource.tsp | 1 + .../ResourceGuardProxyBaseResource.tsp | 1 + .../VirtualResource.tsp | 2 +- .../RecoveryServices.Management/models.tsp | 85 +++------ .../RecoveryServices.Management/routes.tsp | 7 + .../stable/2025-02-01/bms.json | 176 ++++++++++-------- 11 files changed, 141 insertions(+), 136 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp index 72ecde235896..b01aaf89ed67 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -49,6 +49,7 @@ interface BackupEngines { /** * Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers. */ + @list list is ArmResourceListByParent< BackupEngineBaseResource, Parameters = { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index 3dd276ae030b..1142b948a368 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -36,6 +36,7 @@ interface BackupJobs { /** * Provides a pageable list of jobs. */ + @list list is ArmResourceListByParent< JobResource, Parameters = { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index 26b97d989aee..b862f7558700 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -94,6 +94,7 @@ interface RecoveryPointsRecommendedForMove { * Lists the recovery points recommended for move to another tier */ @action("recoveryPointsRecommendedForMove") + @list list is ArmResourceActionSync< ProtectedItemResource, ListRecoveryPointsRecommendedForMoveRequest, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index c72081aa1709..ea3ac4f0ad98 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -81,6 +81,7 @@ interface BackupWorkloadItems { */ @get @action("items") + @list list is ArmResourceActionSync< ProtectionContainerResource, void, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 0e1421060150..35ede64f8ce4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -67,6 +67,7 @@ interface BackupPolicies { * Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch * scoped results. */ + @list list is ArmResourceListByParent< ProtectionPolicyResource, Parameters = { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp index 55481b03a5a1..a9fd60f97710 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -37,6 +37,7 @@ interface RecoveryPoints { /** * Lists the backup copies for the backed up item. */ + @list list is ArmResourceListByParent< RecoveryPointResource, Parameters = { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp index 53a518acfe04..95e1fe93adbd 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -59,6 +59,7 @@ interface ResourceGuardProxies { /** * List the ResourceGuardProxies under vault */ + @list get is ArmResourceListByParent< ResourceGuardProxyBaseResource, Response = ArmResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp index d3b50e22bf30..d91df3933a43 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/VirtualResource.tsp @@ -8,7 +8,7 @@ using Azure.ResourceManager; namespace Microsoft.RecoveryServices; /** - * Vault virtual resource. + * Vault resource in Recovery Service. */ @armVirtualResource model VaultResource { diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index f6a9056e5db5..f28090e859f3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -1604,15 +1604,12 @@ model ProtectionIntent { * List of ProtectionIntent resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ProtectionIntentResourceList { +model ProtectionIntentResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ProtectionIntentResource[]; - - ...ResourceList; } /** @@ -1629,16 +1626,14 @@ model ResourceList { /** * Backup management usage for vault. */ -@pagedResult -model BackupManagementUsageList { +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model BackupManagementUsageList extends ResourceList { /** * The list of backup management usages for the given vault. */ - @items + @pageItems @OpenAPI.extension("x-ms-identifiers", #[]) value?: BackupManagementUsage[]; - - ...ResourceList; } /** @@ -2229,15 +2224,12 @@ model ProtectedItem { * List of RecoveryPoint resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model RecoveryPointResourceList { +model RecoveryPointResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: RecoveryPointResource[]; - - ...ResourceList; } /** @@ -2285,15 +2277,12 @@ model RestoreRequest { * List of ProtectionPolicy resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ProtectionPolicyResourceList { +model ProtectionPolicyResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ProtectionPolicyResource[]; - - ...ResourceList; } /** @@ -2323,15 +2312,12 @@ model ProtectionPolicy { * List of Job resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model JobResourceList { +model JobResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: JobResource[]; - - ...ResourceList; } /** @@ -2425,15 +2411,12 @@ model OperationWorkerResponse { * List of ProtectedItem resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ProtectedItemResourceList { +model ProtectedItemResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ProtectedItemResource[]; - - ...ResourceList; } /** @@ -2509,15 +2492,12 @@ model ErrorDetail { * List of BackupEngineBase resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model BackupEngineBaseResourceList { +model BackupEngineBaseResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: BackupEngineBaseResource[]; - - ...ResourceList; } /** @@ -2641,15 +2621,12 @@ model BackupEngineExtendedInfo { * List of ProtectableContainer resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ProtectableContainerResourceList { +model ProtectableContainerResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ProtectableContainerResource[]; - - ...ResourceList; } /** @@ -2742,15 +2719,12 @@ model ProtectionContainer { * List of WorkloadItem resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model WorkloadItemResourceList { +model WorkloadItemResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: WorkloadItemResource[]; - - ...ResourceList; } /** @@ -2848,15 +2822,12 @@ model ILRRequest { * List of WorkloadProtectableItem resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model WorkloadProtectableItemResourceList { +model WorkloadProtectableItemResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: WorkloadProtectableItemResource[]; - - ...ResourceList; } /** @@ -2906,15 +2877,12 @@ model WorkloadProtectableItem { * List of ProtectionContainer resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ProtectionContainerResourceList { +model ProtectionContainerResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ProtectionContainerResource[]; - - ...ResourceList; } /** @@ -2987,15 +2955,12 @@ model ListRecoveryPointsRecommendedForMoveRequest { * List of ResourceGuardProxyBase resources */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -@pagedResult -model ResourceGuardProxyBaseResourceList { +model ResourceGuardProxyBaseResourceList extends ResourceList { /** * List of resources. */ - @items + @pageItems value?: ResourceGuardProxyBaseResource[]; - - ...ResourceList; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index 093fbcdb29cd..c037fd5a0722 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -109,6 +109,7 @@ interface BackupProtectionIntent { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents") @get + @list list( ...ApiVersionParameter, @@ -142,6 +143,7 @@ interface BackupUsageSummaries { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries") @get + @list list( ...ApiVersionParameter, @@ -203,6 +205,7 @@ interface BackupProtectedItems { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems") @get + @list list( ...ApiVersionParameter, @@ -384,6 +387,7 @@ interface ProtectableContainers { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers") @get + @list list( ...ApiVersionParameter, @@ -512,6 +516,7 @@ interface BackupProtectableItems { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems") @get + @list list( ...ApiVersionParameter, @@ -545,6 +550,7 @@ interface BackupProtectionContainers { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers") @get + @list list( ...ApiVersionParameter, @@ -572,6 +578,7 @@ interface DeletedProtectionContainers { */ @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupDeletedProtectionContainers") @get + @list list( ...ApiVersionParameter, ...SubscriptionIdParameter, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index bc77f363543f..8b27056093f0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -372,7 +372,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -531,7 +532,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -903,7 +905,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -1250,7 +1253,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -1858,7 +1862,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -2376,7 +2381,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -2506,7 +2512,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -2957,7 +2964,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -3352,7 +3360,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -3412,7 +3421,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -3465,7 +3475,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -3525,7 +3536,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -3574,7 +3586,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -4171,7 +4184,8 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": "nextLink", + "itemName": "value" } } }, @@ -9063,12 +9077,13 @@ "items": { "$ref": "#/definitions/BackupEngineBaseResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "BackupEngineExtendedInfo": { "type": "object", @@ -9349,12 +9364,13 @@ "$ref": "#/definitions/BackupManagementUsage" }, "x-ms-identifiers": [] - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "BackupRequest": { "type": "object", @@ -12080,12 +12096,13 @@ "items": { "$ref": "#/definitions/JobResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "JobStatus": { "type": "string", @@ -13542,12 +13559,13 @@ "items": { "$ref": "#/definitions/ProtectableContainerResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ProtectableContainerType": { "type": "string", @@ -13776,12 +13794,13 @@ "items": { "$ref": "#/definitions/ProtectedItemResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ProtectedItemState": { "type": "string", @@ -13889,12 +13908,13 @@ "items": { "$ref": "#/definitions/ProtectionContainerResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ProtectionIntent": { "type": "object", @@ -14019,12 +14039,13 @@ "items": { "$ref": "#/definitions/ProtectionIntentResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ProtectionPolicy": { "type": "object", @@ -14095,12 +14116,13 @@ "items": { "$ref": "#/definitions/ProtectionPolicyResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ProtectionState": { "type": "string", @@ -14375,12 +14397,13 @@ "items": { "$ref": "#/definitions/RecoveryPointResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "RecoveryPointTierInformation": { "type": "object", @@ -14606,12 +14629,13 @@ "items": { "$ref": "#/definitions/ResourceGuardProxyBaseResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "ResourceHealthDetails": { "type": "object", @@ -15974,7 +15998,7 @@ }, "VaultResource": { "type": "object", - "description": "Vault virtual resource.", + "description": "Vault resource in Recovery Service.", "properties": { "name": { "type": "string", @@ -16198,12 +16222,13 @@ "items": { "$ref": "#/definitions/WorkloadItemResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "WorkloadItemType": { "type": "string", @@ -16312,12 +16337,13 @@ "items": { "$ref": "#/definitions/WorkloadProtectableItemResource" } - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of resources, with each API call returning up to 200 resources per page. Use ListNext() to fetch the next page if the total number of resources exceeds 200." } - } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ] }, "WorkloadType": { "type": "string", From c4465e9550215269192047009acb64881c495c67 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 18:00:05 +0800 Subject: [PATCH 05/40] fix --- .../BackupEngineBaseResource.tsp | 22 ++++++--- .../BackupResourceConfigResource.tsp | 20 ++++++-- ...sourceEncryptionConfigExtendedResource.tsp | 48 ++++++++++++++----- .../BackupResourceVaultConfigResource.tsp | 20 ++++++-- .../JobResource.tsp | 19 ++++++-- .../PrivateEndpointConnectionResource.tsp | 22 ++++++--- .../ProtectedItemResource.tsp | 20 ++++++-- .../ProtectionContainerResource.tsp | 20 ++++++-- .../ProtectionIntentResource.tsp | 23 +++++---- .../ProtectionPolicyResource.tsp | 20 ++++++-- .../RecoveryPointResource.tsp | 24 +++++++--- .../ResourceGuardProxyBaseResource.tsp | 24 ++++++---- .../back-compatible.tsp | 12 +++-- .../RecoveryServices.Management/models.tsp | 9 ++-- .../stable/2025-02-01/bms.json | 29 +++++------ 15 files changed, 230 insertions(+), 102 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp index b01aaf89ed67..68c909b457fe 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -1,27 +1,38 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * The base backup engine class. All workload specific backup engines derive from this class. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(VaultResource) -model BackupEngineBaseResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(BackupEngineBase) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model BackupEngineBaseResource extends Resource { ...ResourceNameParameter< Resource = BackupEngineBaseResource, KeyName = "backupEngineName", SegmentName = "backupEngines", NamePattern = "" >; + + /** + * BackupEngineBaseResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: BackupEngineBase; } @armResourceOperations @@ -70,6 +81,3 @@ interface BackupEngines { } @@doc(BackupEngineBaseResource.name, "Name of the backup management server."); -@@doc(BackupEngineBaseResource.properties, - "BackupEngineBaseResource properties" -); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index da32ea964573..9bc3fd440397 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -13,16 +13,29 @@ namespace Microsoft.RecoveryServices; /** * The resource storage details. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @singleton("vaultstorageconfig") @parentResource(VaultResource) -model BackupResourceConfigResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(BackupResourceConfig) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model BackupResourceConfigResource extends Resource { ...ResourceNameParameter< Resource = BackupResourceConfigResource, KeyName = "backupstorageconfig", SegmentName = "backupstorageconfig", NamePattern = "" >; + + /** + * BackupResourceConfigResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: BackupResourceConfig; } #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @@ -164,9 +177,6 @@ interface BackupResourceConfigOperationStatuses { } @@doc(BackupResourceConfigResource.name, ""); -@@doc(BackupResourceConfigResource.properties, - "BackupResourceConfigResource properties" -); @@doc(BackupResourceStorageConfigsNonCRR.update::parameters.resource, "Vault storage config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp index 05cf031dc6a3..b1771519a1e3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -1,38 +1,68 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) -model BackupResourceEncryptionConfigExtendedResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal( + BackupResourceEncryptionConfigExtended +) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model BackupResourceEncryptionConfigExtendedResource extends Resource { ...ResourceNameParameter< Resource = BackupResourceEncryptionConfigExtendedResource, KeyName = "backupEncryptionConfig", SegmentName = "backupEncryptionConfigs", NamePattern = "" >; + + /** + * BackupResourceEncryptionConfigExtendedResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: BackupResourceEncryptionConfigExtended; } +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) -model BackupResourceEncryptionConfigResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal( + BackupResourceEncryptionConfig +) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model BackupResourceEncryptionConfigResource extends Resource { ...ResourceNameParameter< Resource = BackupResourceEncryptionConfigResource, KeyName = "backupEncryptionConfig", SegmentName = "backupEncryptionConfigs", NamePattern = "" >; + + /** + * BackupResourceEncryptionConfigResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: BackupResourceEncryptionConfig; } #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @@ -56,14 +86,8 @@ interface BackupResourceEncryptionConfigs { } @@doc(BackupResourceEncryptionConfigExtendedResource.name, ""); -@@doc(BackupResourceEncryptionConfigExtendedResource.properties, - "BackupResourceEncryptionConfigExtendedResource properties" -); @@doc(BackupResourceEncryptionConfigs.update::parameters.resource, "Vault encryption input config request" ); @@doc(BackupResourceEncryptionConfigResource.name, ""); -@@doc(BackupResourceEncryptionConfigResource.properties, - "BackupResourceEncryptionConfigResource properties" -); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index 92222db98c71..692c900729a9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -13,16 +13,29 @@ namespace Microsoft.RecoveryServices; /** * Backup resource vault config details. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @singleton("vaultconfig") @parentResource(VaultResource) -model BackupResourceVaultConfigResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(BackupResourceVaultConfig) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model BackupResourceVaultConfigResource extends Resource { ...ResourceNameParameter< Resource = BackupResourceVaultConfigResource, KeyName = "backupconfig", SegmentName = "backupconfig", NamePattern = "" >; + + /** + * BackupResourceVaultConfigResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: BackupResourceVaultConfig; } #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" @@ -65,9 +78,6 @@ interface BackupResourceVaultConfigs { } @@doc(BackupResourceVaultConfigResource.name, ""); -@@doc(BackupResourceVaultConfigResource.properties, - "BackupResourceVaultConfigResource properties" -); @@doc(BackupResourceVaultConfigs.put::parameters.resource, "resource config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index 1142b948a368..55f491c200f2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -1,26 +1,38 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * Defines workload agnostic properties for a job. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(VaultResource) -model JobResource is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(Job) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model JobResource extends Resource { ...ResourceNameParameter< Resource = JobResource, KeyName = "jobName", SegmentName = "backupJobs", NamePattern = "" >; + + /** + * JobResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: Job; } @armResourceOperations @@ -151,4 +163,3 @@ interface ExportJobsOperationResults { } @@doc(JobResource.name, "Name of the job whose details are to be fetched."); -@@doc(JobResource.properties, "JobResource properties"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp index 0912aad4003b..5e120eb29630 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -1,27 +1,38 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * Private Endpoint Connection Response Properties */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(VaultResource) -model PrivateEndpointConnectionResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(PrivateEndpointConnection) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model PrivateEndpointConnectionResource extends Resource { ...ResourceNameParameter< Resource = PrivateEndpointConnectionResource, KeyName = "privateEndpointConnectionName", SegmentName = "privateEndpointConnections", NamePattern = "" >; + + /** + * PrivateEndpointConnectionResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: PrivateEndpointConnection; } @armResourceOperations @@ -91,9 +102,6 @@ interface PrivateEndpointOperationStatuses { @@doc(PrivateEndpointConnectionResource.name, "The name of the private endpoint connection." ); -@@doc(PrivateEndpointConnectionResource.properties, - "PrivateEndpointConnectionResource properties" -); @@doc(PrivateEndpointConnectionResources.put::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index b862f7558700..55864428fc42 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -1,6 +1,5 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; import "./ProtectionContainerResource.tsp"; @@ -8,22 +7,34 @@ import "./ProtectionContainerResource.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * Base class for backup items. */ #suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(ProtectionContainerResource) -model ProtectedItemResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(ProtectedItem) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model ProtectedItemResource extends Resource { ...ResourceNameParameter< Resource = ProtectedItemResource, KeyName = "protectedItemName", SegmentName = "protectedItems", NamePattern = "" >; + + /** + * ProtectedItemResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: ProtectedItem; } @armResourceOperations @@ -202,7 +213,6 @@ interface ProtectedItemOperationResults { @@doc(ProtectedItemResource.name, "Backed up item name whose details are to be fetched." ); -@@doc(ProtectedItemResource.properties, "ProtectedItemResource properties"); @@doc(ProtectedItems.createOrUpdate::parameters.resource, "resource backed up item" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index ea3ac4f0ad98..7c31b166ed4f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -13,15 +13,28 @@ namespace Microsoft.RecoveryServices; /** * Base class for container with backup items. Containers with specific workloads are derived from this class. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(BackupFabricResource) -model ProtectionContainerResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(ProtectionContainer) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model ProtectionContainerResource extends Resource { ...ResourceNameParameter< Resource = ProtectionContainerResource, KeyName = "containerName", SegmentName = "protectionContainers", NamePattern = "" >; + + /** + * ProtectionContainerResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: ProtectionContainer; } @armResourceOperations @@ -147,9 +160,6 @@ interface ProtectionContainerOperationResults { @@doc(ProtectionContainerResource.name, "Name of the container whose details need to be fetched." ); -@@doc(ProtectionContainerResource.properties, - "ProtectionContainerResource properties" -); @@doc(ProtectionContainers.register::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp index 8d2ee748301e..711c8fe414d1 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp @@ -1,27 +1,37 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * Base class for backup ProtectionIntent. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(BackupFabricResource) -model ProtectionIntentResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(ProtectionIntent) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model ProtectionIntentResource extends Resource { ...ResourceNameParameter< Resource = ProtectionIntentResource, KeyName = "intentObjectName", SegmentName = "backupProtectionIntent", NamePattern = "" >; + + /** + * ProtectionIntentResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: ProtectionIntent; } @armResourceOperations @@ -54,9 +64,6 @@ interface ProtectionIntentResources { @@doc(ProtectionIntentResource.name, "Backed up item name whose details are to be fetched." ); -@@doc(ProtectionIntentResource.properties, - "ProtectionIntentResource properties" -); @@doc(ProtectionIntentResources.createOrUpdate::parameters.resource, "resource backed up item" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 35ede64f8ce4..585063222cb0 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -13,15 +13,28 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup policy. Workload-specific backup policies are derived from this class. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" @parentResource(VaultResource) -model ProtectionPolicyResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(ProtectionPolicy) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model ProtectionPolicyResource extends Resource { ...ResourceNameParameter< Resource = ProtectionPolicyResource, KeyName = "policyName", SegmentName = "backupPolicies", NamePattern = "" >; + + /** + * ProtectionPolicyResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: ProtectionPolicy; } @armResourceOperations @@ -157,9 +170,6 @@ interface ProtectionPolicyOperationStatuses { @@doc(ProtectionPolicyResource.name, "Backup policy information to be fetched." ); -@@doc(ProtectionPolicyResource.properties, - "ProtectionPolicyResource properties" -); @@doc(ProtectionPolicies.createOrUpdate::parameters.resource, "resource backup policy" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp index a9fd60f97710..2ece36b8c265 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -1,6 +1,5 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; import "./ProtectedItemResource.tsp"; @@ -8,22 +7,34 @@ import "./ProtectedItemResource.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** * Base class for backup copies. Workload-specific backup copies are derived from this class. */ +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "For backward compatibility" @parentResource(ProtectedItemResource) -model RecoveryPointResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(RecoveryPoint) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model RecoveryPointResource extends Resource { ...ResourceNameParameter< Resource = RecoveryPointResource, KeyName = "recoveryPointId", SegmentName = "recoveryPoints", NamePattern = "" >; + + /** + * RecoveryPointResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: RecoveryPoint; } @armResourceOperations @@ -116,9 +127,10 @@ interface ItemLevelRecoveryConnections { @@doc(RecoveryPointResource.name, "RecoveryPointID represents the backed up data to be fetched." ); -@@doc(RecoveryPointResource.properties, "RecoveryPointResource properties"); @@doc(RecoveryPoints.moveRecoveryPoint::parameters.body, "Move Resource Across Tiers Request" ); @@doc(Restores.trigger::parameters.body, "resource restore request"); -@@doc(ItemLevelRecoveryConnections.provision::parameters.body, "resource ILR request"); +@@doc(ItemLevelRecoveryConnections.provision::parameters.body, + "resource ILR request" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp index 95e1fe93adbd..61d692fe45f7 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -1,25 +1,36 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; -using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" @parentResource(VaultResource) -model ResourceGuardProxyBaseResource - is Azure.ResourceManager.TrackedResource { +@Azure.ResourceManager.Private.armResourceInternal(ResourceGuardProxyBase) +@Azure.ResourceManager.Legacy.customAzureResource +@Http.Private.includeInapplicableMetadataInPayload(false) +model ResourceGuardProxyBaseResource extends Resource { ...ResourceNameParameter< Resource = ResourceGuardProxyBaseResource, KeyName = "resourceGuardProxyName", SegmentName = "backupResourceGuardProxies", NamePattern = "" >; + + /** + * ResourceGuardProxyBaseResource properties + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + properties?: ResourceGuardProxyBase; } @armResourceOperations @@ -67,9 +78,6 @@ interface ResourceGuardProxies { } @@doc(ResourceGuardProxyBaseResource.name, ""); -@@doc(ResourceGuardProxyBaseResource.properties, - "ResourceGuardProxyBaseResource properties" -); @@doc(ResourceGuardProxy.put::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index 6289f218d8a1..edcdb21bb5e3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -41,7 +41,9 @@ using Microsoft.RecoveryServices; @@clientName(RecoveryPoints.moveRecoveryPoint::parameters.body, "parameters"); @@clientName(Restores.trigger::parameters.body, "parameters"); -@@clientName(ItemLevelRecoveryConnections.provision::parameters.body, "parameters"); +@@clientName(ItemLevelRecoveryConnections.provision::parameters.body, + "parameters" +); @@clientName(ProtectionPolicies.createOrUpdate::parameters.resource, "parameters" @@ -81,10 +83,10 @@ using Microsoft.RecoveryServices; @@clientLocation(RecoveryPoints.moveRecoveryPoint, Microsoft.RecoveryServices); -@@clientLocation(ProtectionContainersOperationGroup.refresh, ProtectionContainers); +@@clientLocation(ProtectionContainersOperationGroup.refresh, + ProtectionContainers +); @@clientLocation(ProtectionIntentOperationGroup.validate, "ProtectionIntent"); -@@clientLocation(OperationOperationGroup.validate, - "Operation" -); \ No newline at end of file +@@clientLocation(OperationOperationGroup.validate, "Operation"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index f28090e859f3..8ba818d122d5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -3,10 +3,6 @@ import "@typespec/http"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.Core; -using Azure.ResourceManager; using Azure.ResourceManager.Foundations; namespace Microsoft.RecoveryServices; @@ -1315,6 +1311,7 @@ model Resource { /** * Resource Id represents the complete path to the resource. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" @visibility(Lifecycle.Read) id?: string; @@ -1327,23 +1324,27 @@ model Resource { /** * Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" @visibility(Lifecycle.Read) type?: string; /** * Resource location. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" location?: string; /** * Resource tags. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" tags?: Record; /** * Optional ETag. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" eTag?: string; } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 8b27056093f0..dac8bbf049e6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -9063,7 +9063,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -9442,7 +9442,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -9489,7 +9489,6 @@ }, "BackupResourceEncryptionConfigExtendedResource": { "type": "object", - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", @@ -9498,13 +9497,12 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, "BackupResourceEncryptionConfigResource": { "type": "object", - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/BackupResourceEncryptionConfig", @@ -9513,7 +9511,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -9570,7 +9568,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -12082,7 +12080,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -13450,7 +13448,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -13780,7 +13778,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -13894,7 +13892,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -14025,7 +14023,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -14102,7 +14100,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -14383,7 +14381,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, @@ -14606,7 +14604,6 @@ }, "ResourceGuardProxyBaseResource": { "type": "object", - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", "properties": { "properties": { "$ref": "#/definitions/ResourceGuardProxyBase", @@ -14615,7 +14612,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/Resource" } ] }, From 8adf0fc36a2c626f2b8388f04edd19da13ace71e Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 18:34:47 +0800 Subject: [PATCH 06/40] fix --- .../AzureIaasVm/ProtectionPolicies_Delete.json | 3 ++- .../RecoveryServices.Management/tspconfig.yaml | 1 - .../stable/2025-02-01/bms.json | 12 ++++-------- .../AzureIaasVm/ProtectionPolicies_Delete.json | 3 ++- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json index c49317385c29..e6fafaa157a6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json @@ -8,8 +8,9 @@ }, "responses": { "200": {}, + "202": {}, "204": {} }, "operationId": "ProtectionPolicies_Delete", "title": "Delete Azure Vm Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml index 3932dec9a4a5..0456fc963339 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -5,7 +5,6 @@ emit: - "@azure-tools/typespec-autorest" options: "@azure-tools/typespec-autorest": - use-read-only-status-schema: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/bms.json" diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index dac8bbf049e6..3adf087b7241 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -12298,8 +12298,7 @@ "value": "FirstInitialization" } ] - }, - "readOnly": true + } }, "ListRecoveryPointsRecommendedForMoveRequest": { "type": "object", @@ -13125,8 +13124,7 @@ "value": "Canceled" } ] - }, - "readOnly": true + } }, "OperationType": { "type": "string", @@ -14236,8 +14234,7 @@ "value": "Pending" } ] - }, - "readOnly": true + } }, "RecoveryMode": { "type": "string", @@ -15917,8 +15914,7 @@ "value": "Failed" } ] - }, - "readOnly": true + } }, "VaultJob": { "type": "object", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json index c49317385c29..e6fafaa157a6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -8,8 +8,9 @@ }, "responses": { "200": {}, + "202": {}, "204": {} }, "operationId": "ProtectionPolicies_Delete", "title": "Delete Azure Vm Protection Policy" -} \ No newline at end of file +} From be7c6fbedc6503bea4b516e6da49278fce942b80 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 20:24:19 +0800 Subject: [PATCH 07/40] format --- .../2025-02-01/AzureIaasVm/BackupFeature_Validate.json | 2 +- .../examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json | 2 +- .../2025-02-01/AzureIaasVm/BackupProtectableItems_List.json | 2 +- .../2025-02-01/AzureIaasVm/BackupProtectedItems_List.json | 2 +- .../AzureIaasVm/ClassicCompute_ProtectedItem_Get.json | 2 +- .../2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json | 2 +- .../examples/2025-02-01/AzureIaasVm/ConfigureProtection.json | 2 +- .../examples/2025-02-01/AzureIaasVm/GetBackupStatus.json | 2 +- .../AzureIaasVm/ProtectedItemOperationResults.json | 2 +- .../2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json | 2 +- .../AzureIaasVm/ProtectionIntent_CreateOrUpdate.json | 2 +- .../2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Complex.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Simple.json | 2 +- .../2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json | 5 ++++- .../2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json | 2 +- .../AzureIaasVm/ProtectionPolicyOperationResults_Get.json | 2 +- .../AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json | 2 +- .../examples/2025-02-01/AzureIaasVm/Provision_Ilr.json | 2 +- .../AzureIaasVm/RecoveryPointsRecommendedForMove_List.json | 2 +- .../examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json | 2 +- .../examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json | 2 +- .../examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json | 2 +- .../examples/2025-02-01/AzureIaasVm/StopProtection.json | 2 +- .../AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json | 2 +- ...ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json | 2 +- ...iggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json | 2 +- .../AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json | 2 +- .../TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json | 2 +- ...sks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json | 2 +- ...ore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json | 2 +- .../AzureIaasVm/TriggerValidateOperation_RestoreDisk.json | 2 +- .../2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json | 2 +- .../2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json | 2 +- .../2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json | 2 +- .../2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json | 2 +- .../2025-02-01/AzureIaasVm/ValidateOperationResults.json | 2 +- .../2025-02-01/AzureIaasVm/ValidateOperationStatus.json | 2 +- .../AzureIaasVm/ValidateOperation_RestoreDisk.json | 2 +- ...ateOperation_RestoreDisk_IdentityBasedRestoreDetails.json | 2 +- .../2025-02-01/AzureStorage/ProtectableContainers_List.json | 2 +- .../AzureStorage/ProtectionContainers_Inquire.json | 2 +- .../AzureStorage/ProtectionContainers_Inquire_Result.json | 2 +- .../2025-02-01/AzureStorage/ProtectionContainers_List.json | 2 +- .../AzureStorage/ProtectionContainers_Register.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Daily.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Hardened.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Hourly.json | 2 +- .../2025-02-01/AzureStorage/SoftDeletedContainers_List.json | 2 +- .../2025-02-01/AzureWorkload/BackupPolicies_List.json | 2 +- .../AzureWorkload/BackupProtectionIntent_Delete.json | 2 +- .../2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json | 2 +- .../AzureWorkload/BackupProtectionIntent_List.json | 2 +- .../2025-02-01/AzureWorkload/BackupWorkloadItems_List.json | 2 +- .../2025-02-01/AzureWorkload/ProtectionContainers_Get.json | 2 +- .../AzureWorkload/ProtectionContainers_Unregister.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Complex.json | 2 +- .../BackupDataMove/BackupDataMoveOperationStatus_Get.json | 2 +- .../BackupDataMove/PrepareDataMoveOperationResult_Get.json | 2 +- .../2025-02-01/BackupDataMove/PrepareDataMove_Post.json | 2 +- .../2025-02-01/BackupDataMove/TriggerDataMove_Post.json | 2 +- .../2025-02-01/BackupResourceEncryptionConfig_Get.json | 2 +- .../2025-02-01/BackupResourceEncryptionConfig_Put.json | 2 +- .../Common/BackupProtectedItem_UsageSummary_Get.json | 2 +- .../Common/BackupProtectionContainers_UsageSummary_Get.json | 2 +- .../2025-02-01/Common/BackupResourceVaultConfigs_Get.json | 2 +- .../2025-02-01/Common/BackupResourceVaultConfigs_Patch.json | 2 +- .../2025-02-01/Common/BackupResourceVaultConfigs_Put.json | 2 +- .../examples/2025-02-01/Common/BackupSecurityPin_Get.json | 2 +- .../examples/2025-02-01/Common/BackupStorageConfig_Get.json | 2 +- .../2025-02-01/Common/BackupStorageConfig_Patch.json | 2 +- .../examples/2025-02-01/Common/BackupStorageConfig_Put.json | 2 +- .../examples/2025-02-01/Common/CancelJobOperationResult.json | 2 +- .../2025-02-01/Common/ExportJobsOperationResult.json | 2 +- .../examples/2025-02-01/Common/GetJobDetails.json | 2 +- .../examples/2025-02-01/Common/ListJobs.json | 2 +- .../2025-02-01/Common/ListJobsWithAllSupportedFilters.json | 2 +- .../Common/ListJobsWithStartTimeAndEndTimeFilters.json | 2 +- .../examples/2025-02-01/Common/ProtectedItem_Delete.json | 2 +- .../Common/ProtectedItem_Delete_OperationResult.json | 2 +- .../Common/ProtectedItem_Delete_OperationStatus.json | 2 +- .../examples/2025-02-01/Common/RefreshContainers.json | 2 +- .../Common/RefreshContainers_OperationResults.json | 2 +- .../examples/2025-02-01/Common/TriggerBackup_Post.json | 2 +- .../examples/2025-02-01/Common/TriggerCancelJob.json | 2 +- .../examples/2025-02-01/Common/TriggerExportJobs.json | 2 +- .../examples/2025-02-01/Dpm/BackupEngines_Get.json | 2 +- .../examples/2025-02-01/Dpm/BackupEngines_List.json | 2 +- .../examples/2025-02-01/ListOperations.json | 2 +- .../DeletePrivateEndpointConnection.json | 2 +- .../GetPrivateEndpointConnection.json | 2 +- .../GetPrivateEndpointConnectionOperationStatus.json | 2 +- .../PutPrivateEndpointConnection.json | 2 +- .../ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/GetResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/ListResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/PutResourceGuardProxy.json | 2 +- .../UnlockDeleteResourceGuardProxy.json | 2 +- .../2025-02-01/TieringCost/FetchTieringCostForPolicy.json | 2 +- .../TieringCost/FetchTieringCostForProtectedItem.json | 2 +- .../2025-02-01/TieringCost/FetchTieringCostForRehydrate.json | 2 +- .../2025-02-01/TieringCost/FetchTieringCostForVault.json | 2 +- .../TieringCost/GetTieringCostOperationResult.json | 2 +- .../TieringCost/GetTieringCostOperationStatus.json | 2 +- .../examples/2025-02-01/TriggerRecoveryPointMove_Post.json | 2 +- .../examples/AzureIaasVm/BackupFeature_Validate.json | 2 +- .../2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json | 2 +- .../examples/AzureIaasVm/BackupProtectableItems_List.json | 2 +- .../examples/AzureIaasVm/BackupProtectedItems_List.json | 2 +- .../AzureIaasVm/ClassicCompute_ProtectedItem_Get.json | 2 +- .../examples/AzureIaasVm/Compute_ProtectedItem_Get.json | 2 +- .../2025-02-01/examples/AzureIaasVm/ConfigureProtection.json | 2 +- .../2025-02-01/examples/AzureIaasVm/GetBackupStatus.json | 2 +- .../examples/AzureIaasVm/ProtectedItemOperationResults.json | 2 +- .../examples/AzureIaasVm/ProtectedItemOperationStatus.json | 2 +- .../AzureIaasVm/ProtectionIntent_CreateOrUpdate.json | 2 +- .../examples/AzureIaasVm/ProtectionIntent_Validate.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Complex.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Simple.json | 2 +- .../examples/AzureIaasVm/ProtectionPolicies_Delete.json | 5 ++++- .../examples/AzureIaasVm/ProtectionPolicies_Get.json | 2 +- .../AzureIaasVm/ProtectionPolicyOperationResults_Get.json | 2 +- .../AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json | 2 +- .../2025-02-01/examples/AzureIaasVm/Provision_Ilr.json | 2 +- .../AzureIaasVm/RecoveryPointsRecommendedForMove_List.json | 2 +- .../2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json | 2 +- .../2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json | 2 +- .../stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json | 2 +- .../2025-02-01/examples/AzureIaasVm/StopProtection.json | 2 +- .../AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json | 2 +- ...ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json | 2 +- ...iggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json | 2 +- .../AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json | 2 +- .../TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json | 2 +- ...sks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json | 2 +- ...ore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json | 2 +- .../AzureIaasVm/TriggerValidateOperation_RestoreDisk.json | 2 +- .../examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json | 2 +- .../examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json | 2 +- .../examples/AzureIaasVm/V2Policy/v2-Get-Policy.json | 2 +- .../examples/AzureIaasVm/V2Policy/v2-List-Policies.json | 2 +- .../examples/AzureIaasVm/ValidateOperationResults.json | 2 +- .../examples/AzureIaasVm/ValidateOperationStatus.json | 2 +- .../examples/AzureIaasVm/ValidateOperation_RestoreDisk.json | 2 +- ...ateOperation_RestoreDisk_IdentityBasedRestoreDetails.json | 2 +- .../examples/AzureStorage/ProtectableContainers_List.json | 2 +- .../examples/AzureStorage/ProtectionContainers_Inquire.json | 2 +- .../AzureStorage/ProtectionContainers_Inquire_Result.json | 2 +- .../examples/AzureStorage/ProtectionContainers_List.json | 2 +- .../examples/AzureStorage/ProtectionContainers_Register.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Daily.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Hardened.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Hourly.json | 2 +- .../examples/AzureStorage/SoftDeletedContainers_List.json | 2 +- .../examples/AzureWorkload/BackupPolicies_List.json | 2 +- .../AzureWorkload/BackupProtectionIntent_Delete.json | 2 +- .../examples/AzureWorkload/BackupProtectionIntent_Get.json | 2 +- .../examples/AzureWorkload/BackupProtectionIntent_List.json | 2 +- .../examples/AzureWorkload/BackupWorkloadItems_List.json | 2 +- .../examples/AzureWorkload/ProtectionContainers_Get.json | 2 +- .../AzureWorkload/ProtectionContainers_Unregister.json | 2 +- .../ProtectionPolicies_CreateOrUpdate_Complex.json | 2 +- .../BackupDataMove/BackupDataMoveOperationStatus_Get.json | 2 +- .../BackupDataMove/PrepareDataMoveOperationResult_Get.json | 2 +- .../examples/BackupDataMove/PrepareDataMove_Post.json | 2 +- .../examples/BackupDataMove/TriggerDataMove_Post.json | 2 +- .../examples/BackupResourceEncryptionConfig_Get.json | 2 +- .../examples/BackupResourceEncryptionConfig_Put.json | 2 +- .../Common/BackupProtectedItem_UsageSummary_Get.json | 2 +- .../Common/BackupProtectionContainers_UsageSummary_Get.json | 2 +- .../examples/Common/BackupResourceVaultConfigs_Get.json | 2 +- .../examples/Common/BackupResourceVaultConfigs_Patch.json | 2 +- .../examples/Common/BackupResourceVaultConfigs_Put.json | 2 +- .../2025-02-01/examples/Common/BackupSecurityPin_Get.json | 2 +- .../2025-02-01/examples/Common/BackupStorageConfig_Get.json | 2 +- .../examples/Common/BackupStorageConfig_Patch.json | 2 +- .../2025-02-01/examples/Common/BackupStorageConfig_Put.json | 2 +- .../2025-02-01/examples/Common/CancelJobOperationResult.json | 2 +- .../examples/Common/ExportJobsOperationResult.json | 2 +- .../stable/2025-02-01/examples/Common/GetJobDetails.json | 2 +- .../stable/2025-02-01/examples/Common/ListJobs.json | 2 +- .../examples/Common/ListJobsWithAllSupportedFilters.json | 2 +- .../Common/ListJobsWithStartTimeAndEndTimeFilters.json | 2 +- .../2025-02-01/examples/Common/ProtectedItem_Delete.json | 2 +- .../Common/ProtectedItem_Delete_OperationResult.json | 2 +- .../Common/ProtectedItem_Delete_OperationStatus.json | 2 +- .../stable/2025-02-01/examples/Common/RefreshContainers.json | 2 +- .../examples/Common/RefreshContainers_OperationResults.json | 2 +- .../2025-02-01/examples/Common/TriggerBackup_Post.json | 2 +- .../stable/2025-02-01/examples/Common/TriggerCancelJob.json | 2 +- .../stable/2025-02-01/examples/Common/TriggerExportJobs.json | 2 +- .../stable/2025-02-01/examples/Dpm/BackupEngines_Get.json | 2 +- .../stable/2025-02-01/examples/Dpm/BackupEngines_List.json | 2 +- .../stable/2025-02-01/examples/ListOperations.json | 2 +- .../DeletePrivateEndpointConnection.json | 2 +- .../GetPrivateEndpointConnection.json | 2 +- .../GetPrivateEndpointConnectionOperationStatus.json | 2 +- .../PutPrivateEndpointConnection.json | 2 +- .../ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/GetResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/ListResourceGuardProxy.json | 2 +- .../ResourceGuardProxyCRUD/PutResourceGuardProxy.json | 2 +- .../UnlockDeleteResourceGuardProxy.json | 2 +- .../examples/TieringCost/FetchTieringCostForPolicy.json | 2 +- .../TieringCost/FetchTieringCostForProtectedItem.json | 2 +- .../examples/TieringCost/FetchTieringCostForRehydrate.json | 2 +- .../examples/TieringCost/FetchTieringCostForVault.json | 2 +- .../examples/TieringCost/GetTieringCostOperationResult.json | 2 +- .../examples/TieringCost/GetTieringCostOperationStatus.json | 2 +- .../2025-02-01/examples/TriggerRecoveryPointMove_Post.json | 2 +- 210 files changed, 216 insertions(+), 210 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json index 5818457fed52..f25f1bf1dfe3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupFeature_Validate.json @@ -18,4 +18,4 @@ }, "operationId": "FeatureSupport_Validate", "title": "Check Azure Vm Backup Feature Support" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json index 327b0fa3b30d..6fece46aee46 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupPolicies_List.json @@ -75,4 +75,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json index 1ac9a83b89b0..a83a80f799a4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectableItems_List.json @@ -29,4 +29,4 @@ }, "operationId": "BackupProtectableItems_List", "title": "List protectable items with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json index 238e2dfe08a2..d8168fa70c69 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/BackupProtectedItems_List.json @@ -39,4 +39,4 @@ }, "operationId": "BackupProtectedItems_List", "title": "List protected items with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json index 7be19eb72aef..a4271c620fdc 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -38,4 +38,4 @@ }, "operationId": "ProtectedItems_Get", "title": "Get Protected Classic Virtual Machine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json index aa76c8c96a0d..ef24d6f74a4f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -38,4 +38,4 @@ }, "operationId": "ProtectedItems_Get", "title": "Get Protected Virtual Machine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json index 7a0bc5b7bd60..210303050770 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ConfigureProtection.json @@ -50,4 +50,4 @@ }, "operationId": "ProtectedItems_CreateOrUpdate", "title": "Enable Protection on Azure IaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json index 143770f0d5f4..1fd862bd8f91 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/GetBackupStatus.json @@ -24,4 +24,4 @@ }, "operationId": "BackupStatus_Get", "title": "Get Azure Virtual Machine Backup Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json index ef4d74cccdb5..f1b22bf28163 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationResults.json @@ -45,4 +45,4 @@ }, "operationId": "ProtectedItemOperationResults_Get", "title": "Get Operation Results of Protected Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json index 50286040433c..849954101b26 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectedItemOperationStatus.json @@ -27,4 +27,4 @@ }, "operationId": "ProtectedItemOperationStatuses_Get", "title": "Get Operation Status of Protected Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json index 9d39b77f740c..1ac8fd1c211a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -31,4 +31,4 @@ }, "operationId": "ProtectionIntent_CreateOrUpdate", "title": "Create or Update Azure Vm Protection Intent" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json index f70be6ac14bd..fad264ea0a1a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionIntent_Validate.json @@ -24,4 +24,4 @@ }, "operationId": "ProtectionIntent_Validate", "title": "Validate Enable Protection on Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json index 7c4a19211960..823e81f1979f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -180,4 +180,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Full Azure Vm Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json index 37126dfa9a8e..d6331f6ab4e4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -74,4 +74,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Simple Azure Vm Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json index e6fafaa157a6..bc085b9ad8d3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json @@ -8,7 +8,10 @@ }, "responses": { "200": {}, - "202": {}, + "202": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + }, "204": {} }, "operationId": "ProtectionPolicies_Delete", diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json index a5c6c28ecf17..fe7e274f8a28 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Get.json @@ -42,4 +42,4 @@ }, "operationId": "ProtectionPolicies_Get", "title": "Get Azure IaasVm Protection Policy Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json index 91600ac1cea0..1150e635f54d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -43,4 +43,4 @@ }, "operationId": "ProtectionPolicyOperationResults_Get", "title": "Get Protection Policy Operation Results" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json index ab2f939dd63c..16bc427a5d83 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -27,4 +27,4 @@ }, "operationId": "ProtectionPolicyOperationStatuses_Get", "title": "Get Protection Policy Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json index 3a832d75f62e..25f600328e14 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Provision_Ilr.json @@ -29,4 +29,4 @@ }, "operationId": "ItemLevelRecoveryConnections_Provision", "title": "Provision Instant Item Level Recovery for Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json index 1226c4f834f6..967e2b36a666 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -100,4 +100,4 @@ }, "operationId": "RecoveryPointsRecommendedForMove_List", "title": "Get Protected Azure Vm Recovery Points Recommended for Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json index 1dc179ad7171..a48772eacf87 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_Get.json @@ -47,4 +47,4 @@ }, "operationId": "RecoveryPoints_Get", "title": "Get Azure Vm Recovery Point Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json index 5a4563d3c4e1..5042f19c9292 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/RecoveryPoints_List.json @@ -135,4 +135,4 @@ }, "operationId": "RecoveryPoints_List", "title": "Get Protected Azure Vm Recovery Points" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json index bf8906afe9d4..b894c6271282 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/Revoke_Ilr.json @@ -20,4 +20,4 @@ }, "operationId": "ItemLevelRecoveryConnections_Revoke", "title": "Revoke Instant Item Level Recovery for Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json index 245e7e3d5769..e937007e4e92 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/StopProtection.json @@ -50,4 +50,4 @@ }, "operationId": "ProtectedItems_CreateOrUpdate", "title": "Stop Protection with retain data on Azure IaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json index d44dd222cbe8..617b6ca8ad37 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -42,4 +42,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index ebb8e53899e8..3ac7206a5d91 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -44,4 +44,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json index 7868600a6b4d..33f3abaf587a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -43,4 +43,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json index b745b7429967..1b6856f5bcbc 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json @@ -44,4 +44,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore with Resource Guard Enabled" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json index abd4f9002fb5..c66e1d763b7d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -43,4 +43,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index c9a35e3070fb..a2d62e873739 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -41,4 +41,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json index e0bf8324f8cf..abf369c76190 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -39,4 +39,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreWithRehydrationRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json index cfa2d41b8492..08ae08f9a410 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -43,4 +43,4 @@ }, "operationId": "ValidateOperation_Trigger", "title": "Trigger Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json index ea8b16499889..fd3a0638867d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -190,4 +190,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Enhanced Azure Vm Protection Policy with daily backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json index 518db70d7abb..0d4674b93c90 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -190,4 +190,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json index 4674be22554e..fb72cf3ecca7 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -47,4 +47,4 @@ }, "operationId": "ProtectionPolicies_Get", "title": "Get Azure IaasVm Enhanced Protection Policy Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json index baf1f5359dff..80d4b18a1f40 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -106,4 +106,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json index fba6722c8ee9..a81e4fcc945a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationResults.json @@ -32,4 +32,4 @@ }, "operationId": "ValidateOperationResults_Get", "title": "Get Operation Results of Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json index fd9547117144..5590025cf878 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperationStatus.json @@ -34,4 +34,4 @@ }, "operationId": "ValidateOperationStatuses_Get", "title": "Get Operation Status of Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json index 5d312ffaff89..6bbc2995605e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -52,4 +52,4 @@ }, "operationId": "Operation_Validate", "title": "Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json index 5f9c1222e077..dc08ad57dd4b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -54,4 +54,4 @@ }, "operationId": "Operation_Validate", "title": "Validate Operation with identityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json index a1f8a6f6f936..73bb9f1fa04b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectableContainers_List.json @@ -41,4 +41,4 @@ }, "operationId": "ProtectableContainers_List", "title": "List protectable items with backupManagementType filter as AzureStorage" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json index b3d4d51fc821..844c579a6850 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire.json @@ -18,4 +18,4 @@ }, "operationId": "ProtectionContainers_Inquire", "title": "Inquire Azure Storage Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json index 6823245234be..5ddb311022db 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -64,4 +64,4 @@ }, "operationId": "ProtectionContainerOperationResults_Get", "title": "Get Azure Storage Protection Container Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json index d91b46fb4010..b1bb7627c4dd 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_List.json @@ -31,4 +31,4 @@ }, "operationId": "BackupProtectionContainers_List", "title": "List Backup Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json index 7cafd6a2a47c..95bff22bfaf0 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionContainers_Register.json @@ -43,4 +43,4 @@ }, "operationId": "ProtectionContainers_Register", "title": "RegisterAzure Storage ProtectionContainers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json index 367b6fc905ec..774e340ce240 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -179,4 +179,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Daily Azure Storage Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json index 18b2315048f8..767f3fb73bb7 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -186,4 +186,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Azure Storage Vault Standard Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json index 75be106ff651..7e9851f608b7 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -175,4 +175,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Hourly Azure Storage Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json index a0f7e187feb4..c355efb0143d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureStorage/SoftDeletedContainers_List.json @@ -31,4 +31,4 @@ }, "operationId": "DeletedProtectionContainers_List", "title": "List Backup Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json index 3d425d93452b..348fd6a76280 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupPolicies_List.json @@ -69,4 +69,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureWorkload" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json index a6f26abd46a0..78624a4c5985 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Delete.json @@ -13,4 +13,4 @@ }, "operationId": "ProtectionIntent_Delete", "title": "Delete Protection intent from item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json index 0c0773d2a4f4..b69d94994f9b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_Get.json @@ -25,4 +25,4 @@ }, "operationId": "ProtectionIntent_Get", "title": "Get ProtectionIntent for an item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json index ee6737984925..408284c5714e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupProtectionIntent_List.json @@ -27,4 +27,4 @@ }, "operationId": "BackupProtectionIntent_List", "title": "List protection intent with backupManagementType filter" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json index c0a492ea572e..437611b2e9ca 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/BackupWorkloadItems_List.json @@ -46,4 +46,4 @@ }, "operationId": "BackupWorkloadItems_List", "title": "List Workload Items in Container" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json index f31b4daa8568..8a94811cb913 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Get.json @@ -56,4 +56,4 @@ }, "operationId": "ProtectionContainers_Get", "title": "Get Protection Container Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json index 5dbe39b6c55d..7d087d52b74a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionContainers_Unregister.json @@ -20,4 +20,4 @@ }, "operationId": "ProtectionContainers_Unregister", "title": "Unregister Protection Container" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json index 1325625901c1..430712e9e3a6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -259,4 +259,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Full Azure Workload Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json index 06eef8be52d5..1590fa63930d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -19,4 +19,4 @@ }, "operationId": "GetOperationStatus", "title": "Get OperationStatus" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json index c7b569e2e1f6..bc98a8eadf82 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -22,4 +22,4 @@ }, "operationId": "BMSPrepareDataMoveOperationResult_Get", "title": "Get operation result for PrepareDataMove" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json index d28605b93d5d..52334bfa2c1e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/PrepareDataMove_Post.json @@ -22,4 +22,4 @@ }, "operationId": "BMSPrepareDataMove", "title": "Prepare Data Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json index da71ab067a4f..e7d93a476ee0 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupDataMove/TriggerDataMove_Post.json @@ -22,4 +22,4 @@ }, "operationId": "BMSTriggerDataMove", "title": "Trigger Data Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json index 5acfbdcda428..2ea56830af2c 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Get.json @@ -26,4 +26,4 @@ }, "operationId": "BackupResourceEncryptionConfigs_Get", "title": "Get Vault Encryption Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json index 2cf0a3fcd25e..d0e9a89f273d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/BackupResourceEncryptionConfig_Put.json @@ -18,4 +18,4 @@ }, "operationId": "BackupResourceEncryptionConfigs_Update", "title": "Update Vault Encryption Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json index cc583d40aafa..e3acf6ca965c 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectedItem_UsageSummary_Get.json @@ -61,4 +61,4 @@ }, "operationId": "BackupUsageSummaries_List", "title": "Get Protected Items Usages Summary" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json index 69edfde4f569..8bab69b8a3b2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -43,4 +43,4 @@ }, "operationId": "BackupUsageSummaries_List", "title": "Get Protected Containers Usages Summary" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json index 83349c9b35a9..d778c5e98c09 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Get.json @@ -19,4 +19,4 @@ }, "operationId": "BackupResourceVaultConfigs_Get", "title": "Get Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json index ac592504f86b..48873de46df2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Patch.json @@ -24,4 +24,4 @@ }, "operationId": "BackupResourceVaultConfigs_Update", "title": "Update Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json index 5d43e037a08e..54214df5ec56 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupResourceVaultConfigs_Put.json @@ -26,4 +26,4 @@ }, "operationId": "BackupResourceVaultConfigs_Put", "title": "Update Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json index 64ed717c7bb0..9af6ae2972e5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupSecurityPin_Get.json @@ -16,4 +16,4 @@ }, "operationId": "SecurityPINs_Get", "title": "Get Vault Security Pin" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json index f470f4d6393c..78a8b790b358 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Get.json @@ -22,4 +22,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_Get", "title": "Get Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json index 4a0e8f076d7a..ef6ba91dca11 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json @@ -16,4 +16,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_patch", "title": "Update Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json index 4389855de670..df71c0fec289 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Put.json @@ -28,4 +28,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_Update", "title": "Update Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json index 89f58dd0ab29..b1c0e9898ec2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/CancelJobOperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "JobOperationResults_Get", "title": "Cancel Job Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json index 4820d7666322..3fe7e6faba39 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ExportJobsOperationResult.json @@ -40,4 +40,4 @@ }, "operationId": "ExportJobsOperationResults_Get", "title": "Export Jobs Operation Results" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json index 5966b76cb640..e79dfef9c725 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/GetJobDetails.json @@ -45,4 +45,4 @@ }, "operationId": "JobDetails_Get", "title": "Get Job Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json index 88e394b25674..1550c045dbd9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobs.json @@ -48,4 +48,4 @@ }, "operationId": "BackupJobs_List", "title": "List All Jobs" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json index 38ea4228ee98..a3efe27e4acf 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithAllSupportedFilters.json @@ -32,4 +32,4 @@ }, "operationId": "BackupJobs_List", "title": "List Jobs With Filters" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json index f6d6cdf98971..ffc44d1d8fe7 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -50,4 +50,4 @@ }, "operationId": "BackupJobs_List", "title": "List Jobs With Time Filter" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json index 1adeac495dff..1f806b98da05 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete.json @@ -21,4 +21,4 @@ }, "operationId": "ProtectedItems_Delete", "title": "Delete Protection from Azure Virtual Machine" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json index 404a332b9bb9..3331a9a1abb6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "BackupOperationResults_Get", "title": "Get Result for Protected Item Delete Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json index bfabbc8dbb38..8b112be578ea 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/ProtectedItem_Delete_OperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "BackupOperationStatuses_Get", "title": "Get Protected Item Delete Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json index 2cddc6d59b34..afade7ea2ac6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers.json @@ -16,4 +16,4 @@ }, "operationId": "ProtectionContainers_Refresh", "title": "Trigger Azure Vm Discovery" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json index df169326bfac..02940118da47 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/RefreshContainers_OperationResults.json @@ -18,4 +18,4 @@ }, "operationId": "ProtectionContainerRefreshOperationResults_Get", "title": "Azure Vm Discovery Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json index 6c32bcd6d5ef..47a983e612ea 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerBackup_Post.json @@ -24,4 +24,4 @@ }, "operationId": "Backups_Trigger", "title": "Trigger Backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json index 5f5f61d0d5f5..ecb1cc6037d5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerCancelJob.json @@ -16,4 +16,4 @@ }, "operationId": "JobCancellations_Trigger", "title": "Cancel Job" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json index 511e79edc462..421ad5ba8d2b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/TriggerExportJobs.json @@ -15,4 +15,4 @@ }, "operationId": "Jobs_Export", "title": "Export Jobs" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json index 3906ec67c9d6..a3204403d6af 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_Get.json @@ -34,4 +34,4 @@ }, "operationId": "BackupEngines_Get", "title": "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json index d939243be33f..f7572ca255e9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Dpm/BackupEngines_List.json @@ -59,4 +59,4 @@ }, "operationId": "BackupEngines_List", "title": "List Dpm/AzureBackupServer/Lajolla Backup Engines" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json index 16ab61f3a4d4..1f53be2b8522 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ListOperations.json @@ -462,4 +462,4 @@ }, "operationId": "Operations_List", "title": "ListOperations" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json index ba815512df02..20518800ae63 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -18,4 +18,4 @@ }, "operationId": "PrivateEndpointConnection_Delete", "title": "Delete PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json index 74ae1b2984ca..8b0e81f7b22a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -30,4 +30,4 @@ }, "operationId": "PrivateEndpointConnection_Get", "title": "Get PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json index 5d93cf4f2b5d..cc55e5967574 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "PrivateEndpoint_GetOperationStatus", "title": "Get OperationStatus" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json index cbb5ac2c9a29..fcf948014e48 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -69,4 +69,4 @@ }, "operationId": "PrivateEndpointConnection_Put", "title": "Update PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json index 29c548eb86a9..7f8bf91d3028 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -12,4 +12,4 @@ }, "operationId": "ResourceGuardProxy_Delete", "title": "Delete ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json index e825f4c92d92..7f0c2e1fe699 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -32,4 +32,4 @@ }, "operationId": "ResourceGuardProxy_Get", "title": "Get ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json index 4b87f1f73e1a..aee2e865e06f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -35,4 +35,4 @@ }, "operationId": "ResourceGuardProxies_Get", "title": "Get VaultGuardProxies" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json index b0322029633f..d3778a335420 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -37,4 +37,4 @@ }, "operationId": "ResourceGuardProxy_Put", "title": "Create ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json index 4d949656422a..9a1d71096bdf 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -21,4 +21,4 @@ }, "operationId": "ResourceGuardProxy_UnlockDelete", "title": "UnlockDelete ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json index 8a906b5a3938..c58167f48afb 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForPolicy.json @@ -31,4 +31,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json index 489b87c5fd1e..94927d2bb1ac 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForProtectedItem.json @@ -32,4 +32,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for protected item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json index 4fded520853d..d3fc32d1f5f9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForRehydrate.json @@ -32,4 +32,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the rehydration cost for recovery point" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json index 2382ef901a51..fcd1d3ed1d67 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/FetchTieringCostForVault.json @@ -30,4 +30,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for vault" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json index 2b400080c0bd..754693c31c10 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "GetTieringCostOperationResult_Get", "title": "Fetch Tiering Cost Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json index dcf81abdbc6a..68379e87a74e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TieringCost/GetTieringCostOperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "TieringCostOperationStatus_Get", "title": "Fetch Tiering Cost Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json index a9352b69fbbe..f5c0cb3108f2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/TriggerRecoveryPointMove_Post.json @@ -25,4 +25,4 @@ }, "operationId": "MoveRecoveryPoint", "title": "Trigger RP Move Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json index 5818457fed52..f25f1bf1dfe3 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -18,4 +18,4 @@ }, "operationId": "FeatureSupport_Validate", "title": "Check Azure Vm Backup Feature Support" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json index 327b0fa3b30d..6fece46aee46 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -75,4 +75,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json index 1ac9a83b89b0..a83a80f799a4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -29,4 +29,4 @@ }, "operationId": "BackupProtectableItems_List", "title": "List protectable items with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json index 238e2dfe08a2..d8168fa70c69 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -39,4 +39,4 @@ }, "operationId": "BackupProtectedItems_List", "title": "List protected items with backupManagementType filter as AzureIaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json index 7be19eb72aef..a4271c620fdc 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -38,4 +38,4 @@ }, "operationId": "ProtectedItems_Get", "title": "Get Protected Classic Virtual Machine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json index aa76c8c96a0d..ef24d6f74a4f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -38,4 +38,4 @@ }, "operationId": "ProtectedItems_Get", "title": "Get Protected Virtual Machine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json index 7a0bc5b7bd60..210303050770 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ConfigureProtection.json @@ -50,4 +50,4 @@ }, "operationId": "ProtectedItems_CreateOrUpdate", "title": "Enable Protection on Azure IaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json index 143770f0d5f4..1fd862bd8f91 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/GetBackupStatus.json @@ -24,4 +24,4 @@ }, "operationId": "BackupStatus_Get", "title": "Get Azure Virtual Machine Backup Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json index ef4d74cccdb5..f1b22bf28163 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -45,4 +45,4 @@ }, "operationId": "ProtectedItemOperationResults_Get", "title": "Get Operation Results of Protected Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json index 50286040433c..849954101b26 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -27,4 +27,4 @@ }, "operationId": "ProtectedItemOperationStatuses_Get", "title": "Get Operation Status of Protected Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json index 9d39b77f740c..1ac8fd1c211a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -31,4 +31,4 @@ }, "operationId": "ProtectionIntent_CreateOrUpdate", "title": "Create or Update Azure Vm Protection Intent" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json index f70be6ac14bd..fad264ea0a1a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -24,4 +24,4 @@ }, "operationId": "ProtectionIntent_Validate", "title": "Validate Enable Protection on Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json index 7c4a19211960..823e81f1979f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -180,4 +180,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Full Azure Vm Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json index 37126dfa9a8e..d6331f6ab4e4 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -74,4 +74,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Simple Azure Vm Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json index e6fafaa157a6..bc085b9ad8d3 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -8,7 +8,10 @@ }, "responses": { "200": {}, - "202": {}, + "202": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + }, "204": {} }, "operationId": "ProtectionPolicies_Delete", diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json index a5c6c28ecf17..fe7e274f8a28 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -42,4 +42,4 @@ }, "operationId": "ProtectionPolicies_Get", "title": "Get Azure IaasVm Protection Policy Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json index 91600ac1cea0..1150e635f54d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -43,4 +43,4 @@ }, "operationId": "ProtectionPolicyOperationResults_Get", "title": "Get Protection Policy Operation Results" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json index ab2f939dd63c..16bc427a5d83 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -27,4 +27,4 @@ }, "operationId": "ProtectionPolicyOperationStatuses_Get", "title": "Get Protection Policy Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json index 3a832d75f62e..25f600328e14 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Provision_Ilr.json @@ -29,4 +29,4 @@ }, "operationId": "ItemLevelRecoveryConnections_Provision", "title": "Provision Instant Item Level Recovery for Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json index 1226c4f834f6..967e2b36a666 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -100,4 +100,4 @@ }, "operationId": "RecoveryPointsRecommendedForMove_List", "title": "Get Protected Azure Vm Recovery Points Recommended for Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json index 1dc179ad7171..a48772eacf87 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -47,4 +47,4 @@ }, "operationId": "RecoveryPoints_Get", "title": "Get Azure Vm Recovery Point Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json index 5a4563d3c4e1..5042f19c9292 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -135,4 +135,4 @@ }, "operationId": "RecoveryPoints_List", "title": "Get Protected Azure Vm Recovery Points" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json index bf8906afe9d4..b894c6271282 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -20,4 +20,4 @@ }, "operationId": "ItemLevelRecoveryConnections_Revoke", "title": "Revoke Instant Item Level Recovery for Azure Vm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json index 245e7e3d5769..e937007e4e92 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/StopProtection.json @@ -50,4 +50,4 @@ }, "operationId": "ProtectedItems_CreateOrUpdate", "title": "Stop Protection with retain data on Azure IaasVm" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json index d44dd222cbe8..617b6ca8ad37 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -42,4 +42,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index ebb8e53899e8..3ac7206a5d91 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -44,4 +44,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json index 7868600a6b4d..33f3abaf587a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -43,4 +43,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json index b745b7429967..1b6856f5bcbc 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_ResourceGuardEnabled.json @@ -44,4 +44,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore with Resource Guard Enabled" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json index abd4f9002fb5..c66e1d763b7d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json @@ -43,4 +43,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json index c9a35e3070fb..a2d62e873739 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -41,4 +41,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json index e0bf8324f8cf..abf369c76190 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json @@ -39,4 +39,4 @@ }, "operationId": "Restores_Trigger", "title": "Restore Disks with IaasVMRestoreWithRehydrationRequest" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json index cfa2d41b8492..08ae08f9a410 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -43,4 +43,4 @@ }, "operationId": "ValidateOperation_Trigger", "title": "Trigger Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json index ea8b16499889..fd3a0638867d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -190,4 +190,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Enhanced Azure Vm Protection Policy with daily backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json index 518db70d7abb..0d4674b93c90 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -190,4 +190,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Enhanced Azure Vm Protection Policy with Hourly backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json index 4674be22554e..fb72cf3ecca7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -47,4 +47,4 @@ }, "operationId": "ProtectionPolicies_Get", "title": "Get Azure IaasVm Enhanced Protection Policy Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json index baf1f5359dff..80d4b18a1f40 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -106,4 +106,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureIaasVm with both V1 and V2 policies" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json index fba6722c8ee9..a81e4fcc945a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationResults.json @@ -32,4 +32,4 @@ }, "operationId": "ValidateOperationResults_Get", "title": "Get Operation Results of Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json index fd9547117144..5590025cf878 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperationStatus.json @@ -34,4 +34,4 @@ }, "operationId": "ValidateOperationStatuses_Get", "title": "Get Operation Status of Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json index 5d312ffaff89..6bbc2995605e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -52,4 +52,4 @@ }, "operationId": "Operation_Validate", "title": "Validate Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json index 5f9c1222e077..dc08ad57dd4b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -54,4 +54,4 @@ }, "operationId": "Operation_Validate", "title": "Validate Operation with identityBasedRestoreDetails" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json index a1f8a6f6f936..73bb9f1fa04b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectableContainers_List.json @@ -41,4 +41,4 @@ }, "operationId": "ProtectableContainers_List", "title": "List protectable items with backupManagementType filter as AzureStorage" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json index b3d4d51fc821..844c579a6850 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -18,4 +18,4 @@ }, "operationId": "ProtectionContainers_Inquire", "title": "Inquire Azure Storage Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json index 6823245234be..5ddb311022db 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -64,4 +64,4 @@ }, "operationId": "ProtectionContainerOperationResults_Get", "title": "Get Azure Storage Protection Container Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json index d91b46fb4010..b1bb7627c4dd 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_List.json @@ -31,4 +31,4 @@ }, "operationId": "BackupProtectionContainers_List", "title": "List Backup Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json index 7cafd6a2a47c..95bff22bfaf0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -43,4 +43,4 @@ }, "operationId": "ProtectionContainers_Register", "title": "RegisterAzure Storage ProtectionContainers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json index 367b6fc905ec..774e340ce240 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -179,4 +179,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Daily Azure Storage Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json index 18b2315048f8..767f3fb73bb7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hardened.json @@ -186,4 +186,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Azure Storage Vault Standard Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json index 75be106ff651..7e9851f608b7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -175,4 +175,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Hourly Azure Storage Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json index a0f7e187feb4..c355efb0143d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureStorage/SoftDeletedContainers_List.json @@ -31,4 +31,4 @@ }, "operationId": "DeletedProtectionContainers_List", "title": "List Backup Protection Containers" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json index 3d425d93452b..348fd6a76280 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupPolicies_List.json @@ -69,4 +69,4 @@ }, "operationId": "BackupPolicies_List", "title": "List protection policies with backupManagementType filter as AzureWorkload" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json index a6f26abd46a0..78624a4c5985 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -13,4 +13,4 @@ }, "operationId": "ProtectionIntent_Delete", "title": "Delete Protection intent from item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json index 0c0773d2a4f4..b69d94994f9b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -25,4 +25,4 @@ }, "operationId": "ProtectionIntent_Get", "title": "Get ProtectionIntent for an item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json index ee6737984925..408284c5714e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -27,4 +27,4 @@ }, "operationId": "BackupProtectionIntent_List", "title": "List protection intent with backupManagementType filter" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json index c0a492ea572e..437611b2e9ca 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -46,4 +46,4 @@ }, "operationId": "BackupWorkloadItems_List", "title": "List Workload Items in Container" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json index f31b4daa8568..8a94811cb913 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -56,4 +56,4 @@ }, "operationId": "ProtectionContainers_Get", "title": "Get Protection Container Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json index 5dbe39b6c55d..7d087d52b74a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -20,4 +20,4 @@ }, "operationId": "ProtectionContainers_Unregister", "title": "Unregister Protection Container" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json index 1325625901c1..430712e9e3a6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -259,4 +259,4 @@ }, "operationId": "ProtectionPolicies_CreateOrUpdate", "title": "Create or Update Full Azure Workload Protection Policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json index 06eef8be52d5..1590fa63930d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -19,4 +19,4 @@ }, "operationId": "GetOperationStatus", "title": "Get OperationStatus" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json index c7b569e2e1f6..bc98a8eadf82 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -22,4 +22,4 @@ }, "operationId": "BMSPrepareDataMoveOperationResult_Get", "title": "Get operation result for PrepareDataMove" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json index d28605b93d5d..52334bfa2c1e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -22,4 +22,4 @@ }, "operationId": "BMSPrepareDataMove", "title": "Prepare Data Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json index da71ab067a4f..e7d93a476ee0 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -22,4 +22,4 @@ }, "operationId": "BMSTriggerDataMove", "title": "Trigger Data Move" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json index 5acfbdcda428..2ea56830af2c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Get.json @@ -26,4 +26,4 @@ }, "operationId": "BackupResourceEncryptionConfigs_Get", "title": "Get Vault Encryption Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json index 2cf0a3fcd25e..d0e9a89f273d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/BackupResourceEncryptionConfig_Put.json @@ -18,4 +18,4 @@ }, "operationId": "BackupResourceEncryptionConfigs_Update", "title": "Update Vault Encryption Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json index cc583d40aafa..e3acf6ca965c 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -61,4 +61,4 @@ }, "operationId": "BackupUsageSummaries_List", "title": "Get Protected Items Usages Summary" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json index 69edfde4f569..8bab69b8a3b2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -43,4 +43,4 @@ }, "operationId": "BackupUsageSummaries_List", "title": "Get Protected Containers Usages Summary" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json index 83349c9b35a9..d778c5e98c09 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -19,4 +19,4 @@ }, "operationId": "BackupResourceVaultConfigs_Get", "title": "Get Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json index ac592504f86b..48873de46df2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -24,4 +24,4 @@ }, "operationId": "BackupResourceVaultConfigs_Update", "title": "Update Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json index 5d43e037a08e..54214df5ec56 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -26,4 +26,4 @@ }, "operationId": "BackupResourceVaultConfigs_Put", "title": "Update Vault Security Config" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json index 64ed717c7bb0..9af6ae2972e5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupSecurityPin_Get.json @@ -16,4 +16,4 @@ }, "operationId": "SecurityPINs_Get", "title": "Get Vault Security Pin" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json index f470f4d6393c..78a8b790b358 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Get.json @@ -22,4 +22,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_Get", "title": "Get Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json index 4a0e8f076d7a..ef6ba91dca11 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json @@ -16,4 +16,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_patch", "title": "Update Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json index 4389855de670..df71c0fec289 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Put.json @@ -28,4 +28,4 @@ }, "operationId": "BackupResourceStorageConfigsNonCRR_Update", "title": "Update Vault Storage Configuration" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json index 89f58dd0ab29..b1c0e9898ec2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/CancelJobOperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "JobOperationResults_Get", "title": "Cancel Job Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json index 4820d7666322..3fe7e6faba39 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ExportJobsOperationResult.json @@ -40,4 +40,4 @@ }, "operationId": "ExportJobsOperationResults_Get", "title": "Export Jobs Operation Results" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json index 5966b76cb640..e79dfef9c725 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/GetJobDetails.json @@ -45,4 +45,4 @@ }, "operationId": "JobDetails_Get", "title": "Get Job Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json index 88e394b25674..1550c045dbd9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobs.json @@ -48,4 +48,4 @@ }, "operationId": "BackupJobs_List", "title": "List All Jobs" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json index 38ea4228ee98..a3efe27e4acf 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -32,4 +32,4 @@ }, "operationId": "BackupJobs_List", "title": "List Jobs With Filters" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json index f6d6cdf98971..ffc44d1d8fe7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -50,4 +50,4 @@ }, "operationId": "BackupJobs_List", "title": "List Jobs With Time Filter" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json index 1adeac495dff..1f806b98da05 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete.json @@ -21,4 +21,4 @@ }, "operationId": "ProtectedItems_Delete", "title": "Delete Protection from Azure Virtual Machine" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json index 404a332b9bb9..3331a9a1abb6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "BackupOperationResults_Get", "title": "Get Result for Protected Item Delete Operation" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json index bfabbc8dbb38..8b112be578ea 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "BackupOperationStatuses_Get", "title": "Get Protected Item Delete Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json index 2cddc6d59b34..afade7ea2ac6 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers.json @@ -16,4 +16,4 @@ }, "operationId": "ProtectionContainers_Refresh", "title": "Trigger Azure Vm Discovery" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json index df169326bfac..02940118da47 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/RefreshContainers_OperationResults.json @@ -18,4 +18,4 @@ }, "operationId": "ProtectionContainerRefreshOperationResults_Get", "title": "Azure Vm Discovery Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json index 6c32bcd6d5ef..47a983e612ea 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerBackup_Post.json @@ -24,4 +24,4 @@ }, "operationId": "Backups_Trigger", "title": "Trigger Backup" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json index 5f5f61d0d5f5..ecb1cc6037d5 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerCancelJob.json @@ -16,4 +16,4 @@ }, "operationId": "JobCancellations_Trigger", "title": "Cancel Job" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json index 511e79edc462..421ad5ba8d2b 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/TriggerExportJobs.json @@ -15,4 +15,4 @@ }, "operationId": "Jobs_Export", "title": "Export Jobs" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json index 3906ec67c9d6..a3204403d6af 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_Get.json @@ -34,4 +34,4 @@ }, "operationId": "BackupEngines_Get", "title": "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json index d939243be33f..f7572ca255e9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Dpm/BackupEngines_List.json @@ -59,4 +59,4 @@ }, "operationId": "BackupEngines_List", "title": "List Dpm/AzureBackupServer/Lajolla Backup Engines" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json index 16ab61f3a4d4..1f53be2b8522 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ListOperations.json @@ -462,4 +462,4 @@ }, "operationId": "Operations_List", "title": "ListOperations" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json index ba815512df02..20518800ae63 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -18,4 +18,4 @@ }, "operationId": "PrivateEndpointConnection_Delete", "title": "Delete PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json index 74ae1b2984ca..8b0e81f7b22a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -30,4 +30,4 @@ }, "operationId": "PrivateEndpointConnection_Get", "title": "Get PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json index 5d93cf4f2b5d..cc55e5967574 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "PrivateEndpoint_GetOperationStatus", "title": "Get OperationStatus" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json index cbb5ac2c9a29..fcf948014e48 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -69,4 +69,4 @@ }, "operationId": "PrivateEndpointConnection_Put", "title": "Update PrivateEndpointConnection" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json index 29c548eb86a9..7f8bf91d3028 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -12,4 +12,4 @@ }, "operationId": "ResourceGuardProxy_Delete", "title": "Delete ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json index e825f4c92d92..7f0c2e1fe699 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -32,4 +32,4 @@ }, "operationId": "ResourceGuardProxy_Get", "title": "Get ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json index 4b87f1f73e1a..aee2e865e06f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -35,4 +35,4 @@ }, "operationId": "ResourceGuardProxies_Get", "title": "Get VaultGuardProxies" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json index b0322029633f..d3778a335420 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -37,4 +37,4 @@ }, "operationId": "ResourceGuardProxy_Put", "title": "Create ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json index 4d949656422a..9a1d71096bdf 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -21,4 +21,4 @@ }, "operationId": "ResourceGuardProxy_UnlockDelete", "title": "UnlockDelete ResourceGuardProxy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json index 8a906b5a3938..c58167f48afb 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForPolicy.json @@ -31,4 +31,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for policy" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json index 489b87c5fd1e..94927d2bb1ac 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForProtectedItem.json @@ -32,4 +32,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for protected item" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json index 4fded520853d..d3fc32d1f5f9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForRehydrate.json @@ -32,4 +32,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the rehydration cost for recovery point" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json index 2382ef901a51..fcd1d3ed1d67 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/FetchTieringCostForVault.json @@ -30,4 +30,4 @@ }, "operationId": "FetchTieringCost_Post", "title": "Get the tiering savings cost info for vault" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json index 2b400080c0bd..754693c31c10 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationResult.json @@ -19,4 +19,4 @@ }, "operationId": "GetTieringCostOperationResult_Get", "title": "Fetch Tiering Cost Operation Result" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json index dcf81abdbc6a..68379e87a74e 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TieringCost/GetTieringCostOperationStatus.json @@ -20,4 +20,4 @@ }, "operationId": "TieringCostOperationStatus_Get", "title": "Fetch Tiering Cost Operation Status" -} \ No newline at end of file +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json index a9352b69fbbe..f5c0cb3108f2 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/TriggerRecoveryPointMove_Post.json @@ -25,4 +25,4 @@ }, "operationId": "MoveRecoveryPoint", "title": "Trigger RP Move Operation" -} \ No newline at end of file +} From 2377ea6f2a9b5ba20b4bdea28ca38dd8b9b2a369 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 8 Jul 2025 20:30:06 +0800 Subject: [PATCH 08/40] fix --- .../2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json | 1 + .../examples/AzureIaasVm/ProtectionPolicies_Delete.json | 1 + 2 files changed, 2 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json index bc085b9ad8d3..bc4824af7657 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json @@ -9,6 +9,7 @@ "responses": { "200": {}, "202": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 }, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json index bc085b9ad8d3..bc4824af7657 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -9,6 +9,7 @@ "responses": { "200": {}, "202": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", "Retry-After": 60 }, From e08d175d9d0a9b4a69dae384efd0efada619ab8e Mon Sep 17 00:00:00 2001 From: tadelesh Date: Thu, 14 Aug 2025 18:14:59 +0800 Subject: [PATCH 09/40] update --- .../back-compatible.tsp | 97 +++++++++++++++++++ .../tspconfig.yaml | 1 + 2 files changed, 98 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index edcdb21bb5e3..9373139671d9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -1,6 +1,7 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; +using Azure.ClientGenerator.Core.Legacy; using Microsoft.RecoveryServices; @@clientName(BackupResourceStorageConfigsNonCRR.update::parameters.resource, @@ -90,3 +91,99 @@ using Microsoft.RecoveryServices; @@clientLocation(ProtectionIntentOperationGroup.validate, "ProtectionIntent"); @@clientLocation(OperationOperationGroup.validate, "Operation"); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSClassicComputeVMProtectedItem, + AzureIaaSVMProtectedItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSComputeVMProtectedItem, AzureIaaSVMProtectedItem); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseProtectedItem, + AzureVmWorkloadProtectedItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseProtectedItem, + AzureVmWorkloadProtectedItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaDBInstanceProtectedItem, + AzureVmWorkloadProtectedItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLDatabaseProtectedItem, + AzureVmWorkloadProtectedItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadPointInTimeRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPAseRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLRecoveryPoint, AzureWorkloadRecoveryPoint); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLPointInTimeRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadPointInTimeRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPAseRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLRestoreRequest, + AzureWorkloadRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreRequest, + AzureWorkloadRestoreRequest +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml index 0456fc963339..96d5508ed657 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -9,6 +9,7 @@ options: azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/bms.json" arm-resource-flattening: false + emit-lro-options: "all" "@azure-tools/typespec-csharp": service-dir: "sdk/recoveryservices-backup" flavor: azure From 37e19ba1032ed5fddf869ffd109a94db611ea286 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 15 Aug 2025 13:18:53 +0800 Subject: [PATCH 10/40] update --- .../PrivateEndpointConnectionResource.tsp | 3 +- .../ProtectionContainerResource.tsp | 4 +- .../back-compatible.tsp | 171 +- .../RecoveryServices.Management/client.tsp | 20 + .../RecoveryServices.Management/models.tsp | 51 +- .../stable/2025-02-01/bms.json | 2403 +++-------------- 6 files changed, 595 insertions(+), 2057 deletions(-) create mode 100644 specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp index 5e120eb29630..78c90cb37497 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -47,7 +47,8 @@ interface PrivateEndpointConnectionResources { */ put is ArmResourceCreateOrReplaceAsync< PrivateEndpointConnectionResource, - LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader >; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index 7c31b166ed4f..845455f2b862 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -52,8 +52,8 @@ interface ProtectionContainers { #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" register is ArmResourceCreateOrUpdateAsync< ProtectionContainerResource, - Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse, - LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse & + Azure.Core.Foundations.RetryAfterHeader> >; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index 9373139671d9..da42f8e40c96 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -120,11 +120,6 @@ using Microsoft.RecoveryServices; AzureVmWorkloadProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -@@hierarchyBuilding(AzureWorkloadPointInTimeRecoveryPoint, - AzureWorkloadRecoveryPoint -); - #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@hierarchyBuilding(AzureWorkloadSAPHanaRecoveryPoint, AzureWorkloadRecoveryPoint @@ -132,7 +127,7 @@ using Microsoft.RecoveryServices; #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRecoveryPoint, - AzureWorkloadRecoveryPoint + AzureWorkloadPointInTimeRecoveryPoint ); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@ -142,7 +137,7 @@ using Microsoft.RecoveryServices; #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRecoveryPoint, - AzureWorkloadRecoveryPoint + AzureWorkloadPointInTimeRecoveryPoint ); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@ -165,7 +160,7 @@ using Microsoft.RecoveryServices; #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRestoreRequest, - AzureWorkloadRestoreRequest + AzureWorkloadSAPHanaRestoreRequest ); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" @@ -187,3 +182,163 @@ using Microsoft.RecoveryServices; @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreRequest, AzureWorkloadRestoreRequest ); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureBackupServerContainer, DpmContainer); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSClassicComputeVMContainer, IaaSVMContainer); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSComputeVMContainer, IaaSVMContainer); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSClassicComputeVMProtectableItem, + IaaSVMProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureIaaSComputeVMProtectableItem, IaaSVMProtectableItem); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureSQLAGWorkloadContainerProtectionContainer, + AzureWorkloadContainer +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVMAppContainerProtectionContainer, + AzureWorkloadContainer +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPAseSystemProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaDBInstance, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaHSRProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaSystemProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLAvailabilityGroupProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLDatabaseProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLInstanceProtectableItem, + AzureVmWorkloadProtectableItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadAutoProtectionIntent, + AzureRecoveryServiceVaultProtectionIntent +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLAutoProtectionIntent, + AzureWorkloadAutoProtectionIntent +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, + AzureWorkloadSAPHanaPointInTimeRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPHanaRestoreWithRehydrateRequest, + AzureWorkloadSAPHanaRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreRequest, + AzureWorkloadSQLRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, + AzureWorkloadSQLPointInTimeRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLRestoreWithRehydrateRequest, + AzureWorkloadSQLRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPAseSystemWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSAPHanaSystemWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLDatabaseWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureVmWorkloadSQLInstanceWorkloadItem, + AzureVmWorkloadItem +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadPointInTimeRecoveryPoint, + AzureWorkloadRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRestoreRequest, + AzureWorkloadSAPAseRestoreRequest +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(AzureWorkloadSQLPointInTimeRecoveryPoint, + AzureWorkloadSQLRecoveryPoint +); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(IaasVMRestoreWithRehydrationRequest, IaasVMRestoreRequest); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +@@hierarchyBuilding(ValidateIaasVMRestoreOperationRequest, + ValidateRestoreOperationRequest +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp new file mode 100644 index 000000000000..c0652434e3ce --- /dev/null +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -0,0 +1,20 @@ +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using Azure.ClientGenerator.Core; +using Microsoft.RecoveryServices; + +@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, + "Client", + "go" +); +@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, + "Client", + "go" +); +@@clientLocation(BackupResourceConfigOperationStatuses.getOperationStatus, + "Client", + "go" +); + +@@clientLocation(RecoveryPoints.moveRecoveryPoint, "Client", "go"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 8ba818d122d5..550fb1ad13b2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -4170,15 +4170,7 @@ model AzureStorageJobTaskDetails { status?: string; } -/** - * Azure VM workload-specific protected item. - */ -model AzureVmWorkloadProtectedItem extends ProtectedItem { - /** - * backup item type. - */ - protectedItemType: "AzureVmWorkloadProtectedItem"; - +alias AzureVmWorkloadProtectedItemProperties = { /** * Friendly name of the DB represented by this backup item. */ @@ -4252,6 +4244,17 @@ model AzureVmWorkloadProtectedItem extends ProtectedItem { */ @OpenAPI.extension("x-ms-identifiers", #[]) nodesList?: DistributedNodesInfo[]; +}; +/** + * Azure VM workload-specific protected item. + */ +model AzureVmWorkloadProtectedItem extends ProtectedItem { + /** + * backup item type. + */ + protectedItemType: "AzureVmWorkloadProtectedItem"; + + ...AzureVmWorkloadProtectedItemProperties; } /** @@ -4324,52 +4327,52 @@ model DistributedNodesInfo { * Azure VM workload-specific protected item representing SAP ASE Database. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -model AzureVmWorkloadSAPAseDatabaseProtectedItem extends RecoveryPoint { +model AzureVmWorkloadSAPAseDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - objectType: "AzureVmWorkloadSAPAseDatabase"; + protectedItemType: "AzureVmWorkloadSAPAseDatabase"; - ...AzureWorkloadRecoveryPointProperties; + ...AzureVmWorkloadProtectedItemProperties; } /** * Azure VM workload-specific protected item representing SAP HANA Database. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends RecoveryPoint { +model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - objectType: "AzureVmWorkloadSAPHanaDatabase"; + protectedItemType: "AzureVmWorkloadSAPHanaDatabase"; - ...AzureWorkloadRecoveryPointProperties; + ...AzureVmWorkloadProtectedItemProperties; } /** * Azure VM workload-specific protected item representing SAP HANA DBInstance. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends RecoveryPoint { +model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - objectType: "AzureVmWorkloadSAPHanaDBInstance"; + protectedItemType: "AzureVmWorkloadSAPHanaDBInstance"; - ...AzureWorkloadRecoveryPointProperties; + ...AzureVmWorkloadProtectedItemProperties; } /** * Azure VM workload-specific protected item representing SQL Database. */ #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -model AzureVmWorkloadSQLDatabaseProtectedItem extends RecoveryPoint { +model AzureVmWorkloadSQLDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - objectType: "AzureVmWorkloadSQLDatabase"; + protectedItemType: "AzureVmWorkloadSQLDatabase"; - ...AzureWorkloadRecoveryPointProperties; + ...AzureVmWorkloadProtectedItemProperties; } /** @@ -4493,6 +4496,7 @@ model AzureWorkloadPointInTimeRecoveryPoint extends RecoveryPoint { */ objectType: "AzureWorkloadPointInTimeRecoveryPoint"; + ...AzureWorkloadRecoveryPointProperties; ...AzureWorkloadPointInTimeRecoveryPointProperties; } @@ -4703,6 +4707,7 @@ model AzureWorkloadSAPHanaPointInTimeRecoveryPoint extends RecoveryPoint { */ objectType: "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"; + ...AzureWorkloadRecoveryPointProperties; ...AzureWorkloadPointInTimeRecoveryPointProperties; } @@ -4763,6 +4768,7 @@ model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { */ objectType: "AzureWorkloadSAPAsePointInTimeRecoveryPoint"; + ...AzureWorkloadRecoveryPointProperties; ...AzureWorkloadPointInTimeRecoveryPointProperties; } @@ -7888,7 +7894,8 @@ model IaasVMBackupRequest extends BackupRequest { /** * Restore files/folders from a backup copy of IaaS VM. */ -model IaasVmilrRegistrationRequest extends ILRRequest { +#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +model IaasVMILRRegistrationRequest extends ILRRequest { /** * ID of the IaaS VM backup copy from where the files/folders have to be restored. */ diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 3adf087b7241..b811c8325543 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -372,8 +372,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -532,8 +531,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -905,8 +903,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -1050,7 +1047,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/ProtectionContainerResource" }, "x-ms-long-running-operation": true }, @@ -1253,8 +1251,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -1862,8 +1859,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -2381,8 +2377,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -2512,8 +2507,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -2964,8 +2958,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3360,8 +3353,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3421,8 +3413,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3475,8 +3466,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3536,8 +3526,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3586,8 +3575,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -3952,7 +3940,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/TieringCostInfo" }, "x-ms-long-running-operation": true } @@ -4184,8 +4173,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink", - "itemName": "value" + "nextLinkName": "nextLink" } } }, @@ -4841,7 +4829,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/TypeSpec.Http.OkResponse" }, "x-ms-long-running-operation": true } @@ -4911,7 +4900,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/TypeSpec.Http.OkResponse" }, "x-ms-long-running-operation": true } @@ -5045,7 +5035,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/PrivateEndpointConnectionResource" }, "x-ms-long-running-operation": true }, @@ -5216,47 +5207,9 @@ "AzureBackupServerContainer": { "type": "object", "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", - "properties": { - "canReRegister": { - "type": "boolean", - "description": "Specifies whether the container is re-registrable." - }, - "containerId": { - "type": "string", - "description": "ID of container." - }, - "protectedItemCount": { - "type": "integer", - "format": "int64", - "description": "Number of protected items in the BackupEngine" - }, - "dpmAgentVersion": { - "type": "string", - "description": "Backup engine Agent version" - }, - "dpmServers": { - "type": "array", - "description": "List of BackupEngines protecting the container", - "items": { - "type": "string" - } - }, - "upgradeAvailable": { - "type": "boolean", - "description": "To check if upgrade available" - }, - "protectionStatus": { - "type": "string", - "description": "Protection status of the container." - }, - "extendedInfo": { - "$ref": "#/definitions/DPMContainerExtendedInfo", - "description": "Extended Info of the container." - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/DpmContainer" } ], "x-ms-discriminator-value": "AzureBackupServerContainer" @@ -5551,23 +5504,9 @@ "AzureIaaSClassicComputeVMContainer": { "type": "object", "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", - "properties": { - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." - }, - "virtualMachineVersion": { - "type": "string", - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/IaaSVMContainer" } ], "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" @@ -5575,23 +5514,9 @@ "AzureIaaSClassicComputeVMProtectableItem": { "type": "object", "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "properties": { - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM ID of the virtual machine." - }, - "virtualMachineVersion": { - "type": "string", - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" @@ -5599,79 +5524,9 @@ "AzureIaaSClassicComputeVMProtectedItem": { "type": "object", "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", - "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the VM represented by this backup item.", - "readOnly": true - }, - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "readOnly": true - }, - "protectionStatus": { - "type": "string", - "description": "Backup status of this backup item." - }, - "protectionState": { - "$ref": "#/definitions/ProtectionState", - "description": "Backup state of this backup item." - }, - "healthStatus": { - "$ref": "#/definitions/HealthStatus", - "description": "Health status of protected item.", - "readOnly": true - }, - "healthDetails": { - "type": "array", - "description": "Health details on this backup item.", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - }, - "x-ms-identifiers": [ - "code" - ] - }, - "kpisHealths": { - "type": "object", - "description": "Health details of different KPIs", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - }, - "lastBackupStatus": { - "type": "string", - "description": "Last backup operation status." - }, - "lastBackupTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "readOnly": true - }, - "protectedItemDataId": { - "type": "string", - "description": "Data ID of the protected item.", - "readOnly": true - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties", - "description": "Extended Properties for Azure IaasVM Backup." - }, - "policyType": { - "type": "string", - "description": "Type of the policy used for protection", - "readOnly": true - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/AzureIaaSVMProtectedItem" } ], "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" @@ -5679,23 +5534,9 @@ "AzureIaaSComputeVMContainer": { "type": "object", "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", - "properties": { - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container." - }, - "virtualMachineVersion": { - "type": "string", - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/IaaSVMContainer" } ], "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" @@ -5703,23 +5544,9 @@ "AzureIaaSComputeVMProtectableItem": { "type": "object", "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", - "properties": { - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM ID of the virtual machine." - }, - "virtualMachineVersion": { - "type": "string", - "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM." - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of Recovery Services Vault." - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/IaaSVMProtectableItem" } ], "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" @@ -5727,108 +5554,38 @@ "AzureIaaSComputeVMProtectedItem": { "type": "object", "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "type": "object", + "description": "Azure IaaS VM workload-specific error information.", "properties": { - "friendlyName": { - "type": "string", - "description": "Friendly name of the VM represented by this backup item.", + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code.", "readOnly": true }, - "virtualMachineId": { + "errorTitle": { "type": "string", - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "description": "Title: Typically, the entity that the error pertains to.", "readOnly": true }, - "protectionStatus": { + "errorString": { "type": "string", - "description": "Backup status of this backup item." - }, - "protectionState": { - "$ref": "#/definitions/ProtectionState", - "description": "Backup state of this backup item." - }, - "healthStatus": { - "$ref": "#/definitions/HealthStatus", - "description": "Health status of protected item.", + "description": "Localized error string.", "readOnly": true }, - "healthDetails": { + "recommendations": { "type": "array", - "description": "Health details on this backup item.", + "description": "List of localized recommendations for above error code.", "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - }, - "x-ms-identifiers": [ - "code" - ] - }, - "kpisHealths": { - "type": "object", - "description": "Health details of different KPIs", - "additionalProperties": { - "$ref": "#/definitions/KPIResourceHealthDetails" - } - }, - "lastBackupStatus": { - "type": "string", - "description": "Last backup operation status." - }, - "lastBackupTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "readOnly": true - }, - "protectedItemDataId": { - "type": "string", - "description": "Data ID of the protected item.", - "readOnly": true - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." - }, - "extendedProperties": { - "$ref": "#/definitions/ExtendedProperties", - "description": "Extended Properties for Azure IaasVM Backup." - }, - "policyType": { - "type": "string", - "description": "Type of the policy used for protection", - "readOnly": true - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProtectedItem" - } - ], - "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" - }, - "AzureIaaSVMErrorInfo": { - "type": "object", - "description": "Azure IaaS VM workload-specific error information.", - "properties": { - "errorCode": { - "type": "integer", - "format": "int32", - "description": "Error code.", - "readOnly": true - }, - "errorTitle": { - "type": "string", - "description": "Title: Typically, the entity that the error pertains to.", - "readOnly": true - }, - "errorString": { - "type": "string", - "description": "Localized error string.", - "readOnly": true - }, - "recommendations": { - "type": "array", - "description": "List of localized recommendations for above error code.", - "items": { - "type": "string" + "type": "string" }, "readOnly": true } @@ -6213,32 +5970,9 @@ "AzureSQLAGWorkloadContainerProtectionContainer": { "type": "object", "description": "Container for SQL workloads under SQL Availability Group.", - "properties": { - "sourceResourceId": { - "type": "string", - "description": "ARM ID of the virtual machine represented by this Azure Workload Container" - }, - "lastUpdatedTime": { - "type": "string", - "format": "date-time", - "description": "Time stamp when this container was updated." - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", - "description": "Additional details of a workload container." - }, - "workloadType": { - "$ref": "#/definitions/WorkloadType", - "description": "Workload type for which registration was sent." - }, - "operationType": { - "$ref": "#/definitions/OperationType", - "description": "Re-Do Operation" - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/AzureWorkloadContainer" } ], "x-ms-discriminator-value": "SQLAGWorkLoadContainer" @@ -6486,32 +6220,9 @@ "AzureVMAppContainerProtectionContainer": { "type": "object", "description": "Container for SQL workloads under Azure Virtual Machines.", - "properties": { - "sourceResourceId": { - "type": "string", - "description": "ARM ID of the virtual machine represented by this Azure Workload Container" - }, - "lastUpdatedTime": { - "type": "string", - "format": "date-time", - "description": "Time stamp when this container was updated." - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", - "description": "Additional details of a workload container." - }, - "workloadType": { - "$ref": "#/definitions/WorkloadType", - "description": "Workload type for which registration was sent." - }, - "operationType": { - "$ref": "#/definitions/OperationType", - "description": "Re-Do Operation" - } - }, "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/AzureWorkloadContainer" } ], "x-ms-discriminator-value": "VMAppContainer" @@ -6782,49 +6493,9 @@ "AzureVmWorkloadSAPAseDatabaseProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SAP ASE Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SAPAseDatabase" @@ -6832,39 +6503,9 @@ "AzureVmWorkloadSAPAseDatabaseProtectedItem": { "type": "object", "description": "Azure VM workload-specific protected item representing SAP ASE Database.", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase" @@ -6872,33 +6513,9 @@ "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { "type": "object", "description": "Azure VM workload-specific workload item representing SAP ASE Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SAPAseDatabase" @@ -6906,49 +6523,9 @@ "AzureVmWorkloadSAPAseSystemProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SAP ASE System.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SAPAseSystem" @@ -6956,33 +6533,9 @@ "AzureVmWorkloadSAPAseSystemWorkloadItem": { "type": "object", "description": "Azure VM workload-specific workload item representing SAP ASE System.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SAPAseSystem" @@ -6990,49 +6543,9 @@ "AzureVmWorkloadSAPHanaDBInstance": { "type": "object", "description": "Azure VM workload-specific protectable item representing SAP HANA Dbinstance.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SAPHanaDBInstance" @@ -7040,39 +6553,9 @@ "AzureVmWorkloadSAPHanaDBInstanceProtectedItem": { "type": "object", "description": "Azure VM workload-specific protected item representing SAP HANA DBInstance.", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDBInstance" @@ -7080,49 +6563,9 @@ "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SAPHanaDatabase" @@ -7130,39 +6573,9 @@ "AzureVmWorkloadSAPHanaDatabaseProtectedItem": { "type": "object", "description": "Azure VM workload-specific protected item representing SAP HANA Database.", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], "x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase" @@ -7170,33 +6583,9 @@ "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { "type": "object", "description": "Azure VM workload-specific workload item representing SAP HANA Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SAPHanaDatabase" @@ -7204,49 +6593,9 @@ "AzureVmWorkloadSAPHanaHSRProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing HANA HSR.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "HanaHSRContainer" @@ -7254,49 +6603,9 @@ "AzureVmWorkloadSAPHanaSystemProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SAP HANA System.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SAPHanaSystem" @@ -7304,33 +6613,9 @@ "AzureVmWorkloadSAPHanaSystemWorkloadItem": { "type": "object", "description": "Azure VM workload-specific workload item representing SAP HANA System.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SAPHanaSystem" @@ -7346,49 +6631,11 @@ "$ref": "#/definitions/DistributedNodesInfo" }, "x-ms-identifiers": [] - }, - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" } }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" @@ -7396,49 +6643,9 @@ "AzureVmWorkloadSQLDatabaseProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SQL Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SQLDataBase" @@ -7446,39 +6653,9 @@ "AzureVmWorkloadSQLDatabaseProtectedItem": { "type": "object", "description": "Azure VM workload-specific protected item representing SQL Database.", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, "allOf": [ { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/AzureVmWorkloadProtectedItem" } ], "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" @@ -7486,33 +6663,9 @@ "AzureVmWorkloadSQLDatabaseWorkloadItem": { "type": "object", "description": "Azure VM workload-specific workload item representing SQL Database.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SQLDataBase" @@ -7520,49 +6673,9 @@ "AzureVmWorkloadSQLInstanceProtectableItem": { "type": "object", "description": "Azure VM workload-specific protectable item representing SQL Instance.", - "properties": { - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "parentUniqueName": { - "type": "string", - "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG." - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protectable" - }, - "isAutoProtected": { - "type": "boolean", - "description": "Indicates if protectable item is auto-protected" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subprotectableitemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" - }, - "prebackupvalidation": { - "$ref": "#/definitions/PreBackupValidation", - "description": "Pre-backup validation for protectable objects" - }, - "isProtectable": { - "type": "boolean", - "description": "Indicates if item is protectable" - } - }, "allOf": [ { - "$ref": "#/definitions/WorkloadProtectableItem" + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" } ], "x-ms-discriminator-value": "SQLInstance" @@ -7578,33 +6691,11 @@ "$ref": "#/definitions/SQLDataDirectory" }, "x-ms-identifiers": [] - }, - "parentName": { - "type": "string", - "description": "Name for instance or AG" - }, - "serverName": { - "type": "string", - "description": "Host/Cluster Name for instance or AG" - }, - "isAutoProtectable": { - "type": "boolean", - "description": "Indicates if workload item is auto-protectable" - }, - "subinquireditemcount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's present" - }, - "subWorkloadItemCount": { - "type": "integer", - "format": "int32", - "description": "For instance or AG, indicates number of DB's to be protected" } }, "allOf": [ { - "$ref": "#/definitions/WorkloadItem" + "$ref": "#/definitions/AzureVmWorkloadItem" } ], "x-ms-discriminator-value": "SQLInstance" @@ -7614,7 +6705,7 @@ "description": "Azure Recovery Services Vault specific protection intent item.", "allOf": [ { - "$ref": "#/definitions/ProtectionIntent" + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" } ], "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" @@ -7830,838 +6921,39 @@ "type": "array", "description": "List of log ranges", "items": { - "$ref": "#/definitions/PointInTimeRange" - }, - "x-ms-identifiers": [] - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" - }, - "AzureWorkloadPointInTimeRestoreRequest": { - "type": "object", - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "properties": { - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" - }, - "AzureWorkloadRecoveryPoint": { - "type": "object", - "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" - }, - "AzureWorkloadRestoreRequest": { - "type": "object", - "description": "AzureWorkload-specific restore.", - "properties": { - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" - }, - "AzureWorkloadSAPAsePointInTimeRecoveryPoint": { - "type": "object", - "description": "Recovery point specific to PointInTime in SAPAse", - "properties": { - "timeRanges": { - "type": "array", - "description": "List of log ranges", - "items": { - "$ref": "#/definitions/PointInTimeRange" - }, - "x-ms-identifiers": [] - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRecoveryPoint" - }, - "AzureWorkloadSAPAsePointInTimeRestoreRequest": { - "type": "object", - "description": "AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore", - "properties": { - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRestoreRequest" - }, - "AzureWorkloadSAPAseRecoveryPoint": { - "type": "object", - "description": "SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPAseRecoveryPoint" - }, - "AzureWorkloadSAPAseRestoreRequest": { - "type": "object", - "description": "AzureWorkload SAP Ase-specific restore.", - "properties": { - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPAseRestoreRequest" - }, - "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { - "type": "object", - "description": "Recovery point specific to PointInTime in SAPHana", - "properties": { - "timeRanges": { - "type": "array", - "description": "List of log ranges", - "items": { - "$ref": "#/definitions/PointInTimeRange" - }, - "x-ms-identifiers": [] - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - }, - "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { - "type": "object", - "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", - "properties": { - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - }, - "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { - "type": "object", - "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", - "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" - }, - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" - }, - "AzureWorkloadSAPHanaRecoveryPoint": { - "type": "object", - "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", - "properties": { - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" - }, - "AzureWorkloadSAPHanaRestoreRequest": { - "type": "object", - "description": "AzureWorkload SAP Hana-specific restore.", - "properties": { - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" - }, - "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { - "type": "object", - "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", - "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" - }, - "AzureWorkloadSQLAutoProtectionIntent": { - "type": "object", - "description": "Azure Workload SQL Auto Protection intent item.", - "properties": { - "workloadItemType": { - "$ref": "#/definitions/WorkloadItemType", - "description": "Workload item type of the item for which intent is to be set" - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProtectionIntent" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" - }, - "AzureWorkloadSQLPointInTimeRecoveryPoint": { - "type": "object", - "description": "Recovery point specific to PointInTime", - "properties": { - "timeRanges": { - "type": "array", - "description": "List of log ranges", - "items": { - "$ref": "#/definitions/PointInTimeRange" - }, - "x-ms-identifiers": [] - }, - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\nWhen a specific recovery point is accessed using GetRecoveryPoint\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - }, - "recoveryPointTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which recovery point was created" - }, - "type": { - "$ref": "#/definitions/RestorePointType", - "description": "Type of restore point" - }, - "recoveryPointTierDetails": { - "type": "array", - "description": "Recovery point tier information.", - "items": { - "$ref": "#/definitions/RecoveryPointTierInformationV2" - }, - "x-ms-identifiers": [] - }, - "recoveryPointMoveReadinessInfo": { - "type": "object", - "description": "Eligibility of RP to be moved to another tier", - "additionalProperties": { - "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" - } - }, - "recoveryPointProperties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Properties of Recovery Point" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RecoveryPoint" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" - }, - "AzureWorkloadSQLPointInTimeRestoreRequest": { - "type": "object", - "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", - "properties": { - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "shouldUseAlternateTargetLocation": { - "type": "boolean", - "description": "Default option set to true. If this is set to false, alternate data directory must be provided" - }, - "isNonRecoverable": { - "type": "boolean", - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" - }, - "alternateDirectoryPaths": { - "type": "array", - "description": "Data directory details", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - }, - "x-ms-identifiers": [] - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - } - }, - "allOf": [ - { - "$ref": "#/definitions/RestoreRequest" - } - ], - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" - }, - "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { - "type": "object", - "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", - "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" - }, - "pointInTime": { - "type": "string", - "format": "date-time", - "description": "PointInTime value" - }, - "shouldUseAlternateTargetLocation": { - "type": "boolean", - "description": "Default option set to true. If this is set to false, alternate data directory must be provided" - }, - "isNonRecoverable": { - "type": "boolean", - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" - }, - "alternateDirectoryPaths": { - "type": "array", - "description": "Data directory details", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - }, - "x-ms-identifiers": [] - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" + }, + "AzureWorkloadPointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "properties": { + "pointInTime": { "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" + "format": "date-time", + "description": "PointInTime value" } }, "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/AzureWorkloadRestoreRequest" } ], - "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest" }, - "AzureWorkloadSQLRecoveryPoint": { + "AzureWorkloadRecoveryPoint": { "type": "object", - "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "description": "Workload specific recovery point, specifically encapsulates full/diff recovery point", "properties": { - "extendedInfo": { - "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", - "description": "Extended Info that provides data directory details. Will be populated in two cases:\nWhen a specific recovery point is accessed using GetRecoveryPoint\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" - }, "recoveryPointTimeInUTC": { "type": "string", "format": "date-time", @@ -8696,47 +6988,12 @@ "$ref": "#/definitions/RecoveryPoint" } ], - "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" - }, - "AzureWorkloadSQLRecoveryPointExtendedInfo": { - "type": "object", - "description": "Extended info class details", - "properties": { - "dataDirectoryTimeInUTC": { - "type": "string", - "format": "date-time", - "description": "UTC time at which data directory info was captured" - }, - "dataDirectoryPaths": { - "type": "array", - "description": "List of data directory paths during restore operation.", - "items": { - "$ref": "#/definitions/SQLDataDirectory" - }, - "x-ms-identifiers": [] - } - } + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" }, - "AzureWorkloadSQLRestoreRequest": { + "AzureWorkloadRestoreRequest": { "type": "object", - "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "description": "AzureWorkload-specific restore.", "properties": { - "shouldUseAlternateTargetLocation": { - "type": "boolean", - "description": "Default option set to true. If this is set to false, alternate data directory must be provided" - }, - "isNonRecoverable": { - "type": "boolean", - "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried" - }, - "alternateDirectoryPaths": { - "type": "array", - "description": "Data directory details", - "items": { - "$ref": "#/definitions/SQLDataDirectoryMapping" - }, - "x-ms-identifiers": [] - }, "recoveryType": { "$ref": "#/definitions/RecoveryType", "description": "Type of this recovery." @@ -8779,19 +7036,245 @@ }, "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/RestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" + }, + "AzureWorkloadSAPAsePointInTimeRecoveryPoint": { + "type": "object", + "description": "Recovery point specific to PointInTime in SAPAse", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPAsePointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore", + "properties": { + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPAseRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAsePointInTimeRestoreRequest" + }, + "AzureWorkloadSAPAseRecoveryPoint": { + "type": "object", + "description": "SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAseRecoveryPoint" + }, + "AzureWorkloadSAPAseRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Ase-specific restore.", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPAseRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRecoveryPoint": { + "type": "object", + "description": "Recovery point specific to PointInTime in SAPHana", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore", + "properties": { + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreRequest" + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSAPHanaRecoveryPoint": { + "type": "object", + "description": "SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRecoveryPoint" + }, + "AzureWorkloadSAPHanaRestoreRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana-specific restore.", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "type": "object", + "description": "Azure Workload SQL Auto Protection intent item.", + "properties": { + "workloadItemType": { + "$ref": "#/definitions/WorkloadItemType", + "description": "Workload item type of the item for which intent is to be set" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + }, + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "type": "object", + "description": "Recovery point specific to PointInTime", + "properties": { + "timeRanges": { + "type": "array", + "description": "List of log ranges", + "items": { + "$ref": "#/definitions/PointInTimeRange" + }, + "x-ms-identifiers": [] + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" + }, + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "type": "object", + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", + "properties": { + "pointInTime": { + "type": "string", + "format": "date-time", + "description": "PointInTime value" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLRecoveryPoint": { + "type": "object", + "description": "SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info", + "properties": { + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\nWhen a specific recovery point is accessed using GetRecoveryPoint\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" } ], - "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" }, - "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "AzureWorkloadSQLRecoveryPointExtendedInfo": { "type": "object", - "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "description": "Extended info class details", "properties": { - "recoveryPointRehydrationInfo": { - "$ref": "#/definitions/RecoveryPointRehydrationInfo", - "description": "RP Rehydration Info" + "dataDirectoryTimeInUTC": { + "type": "string", + "format": "date-time", + "description": "UTC time at which data directory info was captured" }, + "dataDirectoryPaths": { + "type": "array", + "description": "List of data directory paths during restore operation.", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + }, + "x-ms-identifiers": [] + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "type": "object", + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "properties": { "shouldUseAlternateTargetLocation": { "type": "boolean", "description": "Default option set to true. If this is set to false, alternate data directory must be provided" @@ -8807,50 +7290,27 @@ "$ref": "#/definitions/SQLDataDirectoryMapping" }, "x-ms-identifiers": [] - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered." - }, - "propertyBag": { - "type": "object", - "description": "Workload specific property bag.", - "additionalProperties": { - "type": "string" - } - }, - "targetInfo": { - "$ref": "#/definitions/TargetRestoreInfo", - "description": "Details of target database" - }, - "recoveryMode": { - "$ref": "#/definitions/RecoveryMode", - "description": "Defines whether the current recovery mode is file restore or database restore" - }, - "targetResourceGroupName": { - "type": "string", - "description": "Defines the Resource group of the Target VM" - }, - "userAssignedManagedIdentityDetails": { - "$ref": "#/definitions/UserAssignedManagedIdentityDetails", - "description": "User Assigned managed identity details\nCurrently used for snapshot." - }, - "snapshotRestoreParameters": { - "$ref": "#/definitions/SnapshotRestoreParameters", - "description": "Additional details for snapshot recovery\nCurrently used for snapshot for SAP Hana." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the target VM\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" } }, "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "type": "object", + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" } ], "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" @@ -11379,6 +9839,34 @@ ], "x-ms-discriminator-value": "IaasVMBackupRequest" }, + "IaasVMILRRegistrationRequest": { + "type": "object", + "description": "Restore files/folders from a backup copy of IaaS VM.", + "properties": { + "recoveryPointId": { + "type": "string", + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored." + }, + "virtualMachineId": { + "type": "string", + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored." + }, + "initiatorName": { + "type": "string", + "description": "iSCSI initiator name." + }, + "renewExistingRegistration": { + "type": "boolean", + "description": "Whether to renew existing registration with the iSCSI server." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" + }, "IaasVMRecoveryPoint": { "type": "object", "description": "IaaS VM workload specific backup copy.", @@ -11596,110 +10084,11 @@ "recoveryPointRehydrationInfo": { "$ref": "#/definitions/RecoveryPointRehydrationInfo", "description": "RP Rehydration Info" - }, - "recoveryPointId": { - "type": "string", - "description": "ID of the backup copy to be recovered." - }, - "recoveryType": { - "$ref": "#/definitions/RecoveryType", - "description": "Type of this recovery." - }, - "sourceResourceId": { - "type": "string", - "description": "Fully qualified ARM ID of the VM which is being recovered." - }, - "targetVirtualMachineId": { - "type": "string", - "description": "This is the complete ARM Id of the VM that will be created.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}" - }, - "targetResourceGroupId": { - "type": "string", - "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}" - }, - "storageAccountId": { - "type": "string", - "description": "Fully qualified ARM ID of the storage account to which the VM has to be restored." - }, - "virtualNetworkId": { - "type": "string", - "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\nUser will be validated for join action permissions in the linked access." - }, - "subnetId": { - "type": "string", - "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\nthe subnet." - }, - "targetDomainNameId": { - "type": "string", - "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\nVirtual Machines." - }, - "region": { - "type": "string", - "description": "Region in which the virtual machine is restored." - }, - "affinityGroup": { - "type": "string", - "description": "Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines." - }, - "createNewCloudService": { - "type": "boolean", - "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\ncloud service as it was at the time of backup." - }, - "originalStorageAccountOption": { - "type": "boolean", - "description": "Original Storage Account Option" - }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Details needed if the VM was encrypted at the time of backup." - }, - "restoreDiskLunList": { - "type": "array", - "description": "List of Disk LUNs for partial restore", - "items": { - "type": "integer", - "format": "int32" - } - }, - "restoreWithManagedDisks": { - "type": "boolean", - "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks." - }, - "diskEncryptionSetId": { - "type": "string", - "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key." - }, - "zones": { - "type": "array", - "description": "Target zone where the VM and its disks should be restored.", - "items": { - "type": "string" - } - }, - "identityInfo": { - "$ref": "#/definitions/IdentityInfo", - "description": "Managed Identity information required to access customer storage account." - }, - "identityBasedRestoreDetails": { - "$ref": "#/definitions/IdentityBasedRestoreDetails", - "description": "IaaS VM workload specific restore details for restores using managed identity." - }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation", - "description": "Target extended location where the VM should be restored,\nshould be null if restore is to be done in public cloud" - }, - "securedVMDetails": { - "$ref": "#/definitions/SecuredVMDetails", - "description": "Stores Secured VM Details" - }, - "targetDiskNetworkAccessSettings": { - "$ref": "#/definitions/TargetDiskNetworkAccessSettings", - "description": "Specifies target network access settings for disks of VM to be restored," } }, "allOf": [ { - "$ref": "#/definitions/RestoreRequest" + "$ref": "#/definitions/IaasVMRestoreRequest" } ], "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" @@ -11720,34 +10109,6 @@ ] } }, - "IaasVmilrRegistrationRequest": { - "type": "object", - "description": "Restore files/folders from a backup copy of IaaS VM.", - "properties": { - "recoveryPointId": { - "type": "string", - "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored." - }, - "virtualMachineId": { - "type": "string", - "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored." - }, - "initiatorName": { - "type": "string", - "description": "iSCSI initiator name." - }, - "renewExistingRegistration": { - "type": "boolean", - "description": "Whether to renew existing registration with the iSCSI server." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ILRRequest" - } - ], - "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" - }, "IdentityBasedRestoreDetails": { "type": "object", "description": "IaaS VM workload specific restore details for restores using managed identity", @@ -15803,15 +14164,9 @@ "ValidateIaasVMRestoreOperationRequest": { "type": "object", "description": "AzureRestoreValidation request.", - "properties": { - "restoreRequest": { - "$ref": "#/definitions/RestoreRequest", - "description": "Sets restore request to be validated" - } - }, "allOf": [ { - "$ref": "#/definitions/ValidateOperationRequest" + "$ref": "#/definitions/ValidateRestoreOperationRequest" } ], "x-ms-discriminator-value": "ValidateIaasVMRestoreOperationRequest" From d42db6fd18ef2eb1987b4ea50ae648ecf3f76bad Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Thu, 28 Aug 2025 12:50:24 +0800 Subject: [PATCH 11/40] fix python --- .../RecoveryServices.Management/back-compatible.tsp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index da42f8e40c96..af2e13c2dbf2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -1,4 +1,5 @@ import "@azure-tools/typespec-client-generator-core"; +import "@azure-tools/typespec-azure-resource-manager"; using Azure.ClientGenerator.Core; using Azure.ClientGenerator.Core.Legacy; @@ -342,3 +343,5 @@ using Microsoft.RecoveryServices; @@hierarchyBuilding(ValidateIaasVMRestoreOperationRequest, ValidateRestoreOperationRequest ); + +@@clientName(Azure.ResourceManager.CommonTypes.ErrorDetail, "ArmErrorDetail", "python"); From 44c2015c4865baafc2b86634596b7719b739c1cd Mon Sep 17 00:00:00 2001 From: tadelesh Date: Thu, 11 Sep 2025 16:15:58 +0800 Subject: [PATCH 12/40] update --- .../back-compatible.tsp | 5 +- .../RecoveryServices.Management/models.tsp | 48 ------------------- 2 files changed, 4 insertions(+), 49 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index af2e13c2dbf2..8a261c1d6905 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -344,4 +344,7 @@ using Microsoft.RecoveryServices; ValidateRestoreOperationRequest ); -@@clientName(Azure.ResourceManager.CommonTypes.ErrorDetail, "ArmErrorDetail", "python"); +@@clientName(Azure.ResourceManager.CommonTypes.ErrorDetail, + "ArmErrorDetail", + "python" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 550fb1ad13b2..1a86287561d1 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -1348,54 +1348,6 @@ model Resource { eTag?: string; } -/** - * The resource management error response. - */ -@error -model NewErrorResponse { - /** - * The error object. - */ - error?: NewErrorResponseError; -} - -/** - * The error object. - */ -model NewErrorResponseError { - /** - * The error code. - */ - @visibility(Lifecycle.Read) - code?: string; - - /** - * The error message. - */ - @visibility(Lifecycle.Read) - message?: string; - - /** - * The error target. - */ - @visibility(Lifecycle.Read) - target?: string; - - /** - * The error details. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["/error/code"]) - details?: NewErrorResponse[]; - - /** - * The error additional info. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #[]) - additionalInfo?: ErrorAdditionalInfo[]; -} - /** * Contract to validate if backup can be enabled on the given resource in a given vault and given configuration. * It will validate followings From 8960d93f363955d7dc079a90248e6addd30afd31 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Thu, 11 Sep 2025 16:21:16 +0800 Subject: [PATCH 13/40] update --- .../stable/2025-02-01/bms.json | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index b811c8325543..8c7328c54b3d 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -11213,57 +11213,6 @@ } } }, - "NewErrorResponse": { - "type": "object", - "description": "The resource management error response.", - "properties": { - "error": { - "$ref": "#/definitions/NewErrorResponseError", - "description": "The error object." - } - } - }, - "NewErrorResponseError": { - "type": "object", - "description": "The error object.", - "properties": { - "code": { - "type": "string", - "description": "The error code.", - "readOnly": true - }, - "message": { - "type": "string", - "description": "The error message.", - "readOnly": true - }, - "target": { - "type": "string", - "description": "The error target.", - "readOnly": true - }, - "details": { - "type": "array", - "description": "The error details.", - "items": { - "$ref": "#/definitions/NewErrorResponse" - }, - "readOnly": true, - "x-ms-identifiers": [ - "/error/code" - ] - }, - "additionalInfo": { - "type": "array", - "description": "The error additional info.", - "items": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorAdditionalInfo" - }, - "readOnly": true, - "x-ms-identifiers": [] - } - } - }, "OperationResultInfo": { "type": "object", "description": "Operation result info.", From 046b887d094da735f4cde2b5256baec841336b44 Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 17:17:08 +0800 Subject: [PATCH 14/40] java backward compatible --- .../RecoveryServices.Management/client.tsp | 14 ++++++++++++++ .../RecoveryServices.Management/tspconfig.yaml | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index c0652434e3ce..1637a3a3299e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -18,3 +18,17 @@ using Microsoft.RecoveryServices; ); @@clientLocation(RecoveryPoints.moveRecoveryPoint, "Client", "go"); + +// Migration mappings added to mitigate Java SDK breaking changes after TypeSpec migration +@@clientName(Microsoft.RecoveryServices.IaaSVMContainer, + "IaaSvmContainer", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMProtectedItem, + "AzureIaaSvmProtectedItem", + "java" +); +@@alternateType(Microsoft.RecoveryServices.InquiryValidation.protectableItemCount, + unknown, + "java" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml index 96d5508ed657..df7076f6f0ed 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -27,8 +27,9 @@ options: "@azure-tools/typespec-java": package-dir: "azure-resourcemanager-recoveryservicesbackup" namespace: "com.azure.resourcemanager.recoveryservicesbackup" - service-name: "Azure Resource Manager RecoveryServicesBackup" + service-name: "Recovery Services Backup" flavor: azure + use-object-for-unknown: true "@azure-tools/typespec-ts": package-dir: "arm-recoveryservicesbackup" flavor: azure From 10bdc7b5a09c626fd8f2c93f74ab2155bf5d4ba2 Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 20:53:15 +0800 Subject: [PATCH 15/40] Add Java SDK breaking change mitigations for TypeSpec migration - Add clientName mappings for model name consistency (e.g., AzureIaaSVMJob -> AzureIaaSvmJob) - Add clientName mappings for SQL/SAP related types - Add clientName mappings for VM workload related types - Add clientName mappings for storage, BMS, key/secret, and other types - Preserve existing alternateType mapping for protectableItemCount These changes mitigate major breaking changes in the Java SDK after migrating from Swagger to TypeSpec. --- .../RecoveryServices.Management/client.tsp | 279 ++++++++++++++++++ 1 file changed, 279 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 1637a3a3299e..452f09c2461f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -32,3 +32,282 @@ using Microsoft.RecoveryServices; unknown, "java" ); + +// Additional migration mappings for model name consistency +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMJob, + "AzureIaaSvmJob", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMJobV2, + "AzureIaaSvmJobV2", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMJobExtendedInfo, + "AzureIaaSvmJobExtendedInfo", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMJobTaskDetails, + "AzureIaaSvmJobTaskDetails", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMErrorInfo, + "AzureIaaSvmErrorInfo", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMHealthDetails, + "AzureIaaSvmHealthDetails", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMProtectedItemExtendedInfo, + "AzureIaaSvmProtectedItemExtendedInfo", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureIaaSVMProtectionPolicy, + "AzureIaaSvmProtectionPolicy", + "java" +); +@@clientName(Microsoft.RecoveryServices.IaaSVMProtectableItem, + "IaasVMProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.IaasVMILRRegistrationRequest, + "IaasVmilrRegistrationRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.IAASVMPolicyType, + "IaasvmPolicyType", + "java" +); + +// Additional migrations for SQL/SAP related types +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLAutoProtectionIntent, + "AzureWorkloadSqlAutoProtectionIntent", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRecoveryPoint, + "AzureWorkloadSqlRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLPointInTimeRecoveryPoint, + "AzureWorkloadSqlPointInTimeRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRestoreRequest, + "AzureWorkloadSqlRestoreRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRestoreWithRehydrateRequest, + "AzureWorkloadSqlRestoreWithRehydrateRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLPointInTimeRestoreRequest, + "AzureWorkloadSqlPointInTimeRestoreRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, + "AzureWorkloadSqlPointInTimeRestoreWithRehydrateRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRecoveryPointExtendedInfo, + "AzureWorkloadSqlRecoveryPointExtendedInfo", + "java" +); + +// SAP related mappings +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaRestoreRequest, + "AzureWorkloadSapHanaRestoreRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaRestoreWithRehydrateRequest, + "AzureWorkloadSapHanaRestoreWithRehydrateRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaPointInTimeRestoreRequest, + "AzureWorkloadSapHanaPointInTimeRestoreRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, + "AzureWorkloadSapHanaPointInTimeRestoreWithRehydrateRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaRecoveryPoint, + "AzureWorkloadSapHanaRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaPointInTimeRecoveryPoint, + "AzureWorkloadSapHanaPointInTimeRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAseRecoveryPoint, + "AzureWorkloadSapAseRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAseRestoreRequest, + "AzureWorkloadSapAseRestoreRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAsePointInTimeRecoveryPoint, + "AzureWorkloadSapAsePointInTimeRecoveryPoint", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAsePointInTimeRestoreRequest, + "AzureWorkloadSapAsePointInTimeRestoreRequest", + "java" +); + +// VM Workload related mappings +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLDatabaseProtectedItem, + "AzureVmWorkloadSqlDatabaseProtectedItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLDatabaseProtectableItem, + "AzureVmWorkloadSqlDatabaseProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLDatabaseWorkloadItem, + "AzureVmWorkloadSqlDatabaseWorkloadItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLInstanceProtectableItem, + "AzureVmWorkloadSqlInstanceProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLInstanceWorkloadItem, + "AzureVmWorkloadSqlInstanceWorkloadItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSQLAvailabilityGroupProtectableItem, + "AzureVmWorkloadSqlAvailabilityGroupProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaDatabaseProtectedItem, + "AzureVmWorkloadSapHanaDatabaseProtectedItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaDatabaseProtectableItem, + "AzureVmWorkloadSapHanaDatabaseProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaDatabaseWorkloadItem, + "AzureVmWorkloadSapHanaDatabaseWorkloadItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaDBInstanceProtectedItem, + "AzureVmWorkloadSapHanaDBInstanceProtectedItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaDBInstance, + "AzureVmWorkloadSapHanaDBInstance", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaSystemProtectableItem, + "AzureVmWorkloadSapHanaSystemProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaSystemWorkloadItem, + "AzureVmWorkloadSapHanaSystemWorkloadItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPHanaHSRProtectableItem, + "AzureVmWorkloadSapHanaHsr", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPAseDatabaseProtectedItem, + "AzureVmWorkloadSapAseDatabaseProtectedItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPAseDatabaseProtectableItem, + "AzureVmWorkloadSapAseDatabaseProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPAseDatabaseWorkloadItem, + "AzureVmWorkloadSapAseDatabaseWorkloadItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPAseSystemProtectableItem, + "AzureVmWorkloadSapAseSystemProtectableItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureVmWorkloadSAPAseSystemWorkloadItem, + "AzureVmWorkloadSapAseSystemWorkloadItem", + "java" +); + +// SQL and other mappings +@@clientName(Microsoft.RecoveryServices.SQLDataDirectory, + "SqlDataDirectory", + "java" +); +@@clientName(Microsoft.RecoveryServices.SQLDataDirectoryType, + "SqlDataDirectoryType", + "java" +); +@@clientName(Microsoft.RecoveryServices.SQLDataDirectoryMapping, + "SqlDataDirectoryMapping", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureSQLAGWorkloadContainerProtectionContainer, + "AzureSqlagWorkloadContainerProtectionContainer", + "java" +); + +// Storage and BMS related mappings +@@clientName(Microsoft.RecoveryServices.BMSPrepareDataMoveOperationResult, + "BmsPrepareDataMoveOperationResults", + "java" +); +@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR, + "BackupResourceStorageConfigsNonCrrs", + "java" +); + +// Key/secret related mappings +@@clientName(Microsoft.RecoveryServices.KEKDetails, "KekDetails", "java"); +@@clientName(Microsoft.RecoveryServices.BEKDetails, "BekDetails", "java"); + +// Target restore info mapping +@@clientName(Microsoft.RecoveryServices.TargetAFSRestoreInfo, + "TargetAfsRestoreInfo", + "java" +); + +// Additional ILR related mappings +@@clientName(Microsoft.RecoveryServices.ILRRequest, "IlrRequest", "java"); +@@clientName(Microsoft.RecoveryServices.ILRRequestResource, + "IlrRequestResource", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureFileShareProvisionILRRequest, + "AzureFileShareProvisionIlrRequest", + "java" +); +@@clientName(Microsoft.RecoveryServices.OperationStatusProvisionILRExtendedInfo, + "OperationStatusProvisionIlrExtendedInfo", + "java" +); + +// DPM related mappings +@@clientName(Microsoft.RecoveryServices.DPMContainerExtendedInfo, + "DpmContainerExtendedInfo", + "java" +); +@@clientName(Microsoft.RecoveryServices.DPMProtectedItem, + "DpmProtectedItem", + "java" +); +@@clientName(Microsoft.RecoveryServices.DPMProtectedItemExtendedInfo, + "DpmProtectedItemExtendedInfo", + "java" +); + +// MAB related mappings +@@clientName(Microsoft.RecoveryServices.MABContainerHealthDetails, + "MabContainerHealthDetails", + "java" +); + +// KPI related mappings +@@clientName(Microsoft.RecoveryServices.KPIResourceHealthDetails, + "KpiResourceHealthDetails", + "java" +); From bbd083121de35911f8aaf9f3ec83e052494f042c Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 21:12:14 +0800 Subject: [PATCH 16/40] java backward compatible --- .../RecoveryServices.Management/client.tsp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 452f09c2461f..5af9452de785 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -32,8 +32,6 @@ using Microsoft.RecoveryServices; unknown, "java" ); - -// Additional migration mappings for model name consistency @@clientName(Microsoft.RecoveryServices.AzureIaaSVMJob, "AzureIaaSvmJob", "java" @@ -311,3 +309,6 @@ using Microsoft.RecoveryServices; "KpiResourceHealthDetails", "java" ); + +// ETag property mapping to preserve backward compatibility +@@clientName(Microsoft.RecoveryServices.Resource.eTag, "etag", "java"); From 2b6d01d05625f443687f75d422372ac8e6ef17ec Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 21:24:42 +0800 Subject: [PATCH 17/40] fix plural --- .../RecoveryServices.Management/client.tsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 5af9452de785..95347739c215 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -251,11 +251,11 @@ using Microsoft.RecoveryServices; // Storage and BMS related mappings @@clientName(Microsoft.RecoveryServices.BMSPrepareDataMoveOperationResult, - "BmsPrepareDataMoveOperationResults", + "BmsPrepareDataMoveOperationResult", "java" ); @@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR, - "BackupResourceStorageConfigsNonCrrs", + "BackupResourceStorageConfigsNonCrr", "java" ); From b9891629a261a5e61f4c542518d96e8c41fe2080 Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 21:39:45 +0800 Subject: [PATCH 18/40] java backward compatible --- .../RecoveryServices.Management/client.tsp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 95347739c215..b8d42df14c77 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -259,6 +259,12 @@ using Microsoft.RecoveryServices; "java" ); +// ResourceGuardProxies interface rename +@@clientName(Microsoft.RecoveryServices.ResourceGuardProxies, + "ResourceGuardProxy", + "java" +); + // Key/secret related mappings @@clientName(Microsoft.RecoveryServices.KEKDetails, "KekDetails", "java"); @@clientName(Microsoft.RecoveryServices.BEKDetails, "BekDetails", "java"); From 4c8c486698fdd84e1f7f30a6ace9df13a25f295e Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 21:47:54 +0800 Subject: [PATCH 19/40] Fix Java SDK breaking changes for UTC, PIN, VM abbreviations --- .../RecoveryServices.Management/client.tsp | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index b8d42df14c77..ca9f4c05c915 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -260,7 +260,7 @@ using Microsoft.RecoveryServices; ); // ResourceGuardProxies interface rename -@@clientName(Microsoft.RecoveryServices.ResourceGuardProxies, +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxies.get, "ResourceGuardProxy", "java" ); @@ -318,3 +318,69 @@ using Microsoft.RecoveryServices; // ETag property mapping to preserve backward compatibility @@clientName(Microsoft.RecoveryServices.Resource.eTag, "etag", "java"); + +// UTC/PIN/VM abbreviation fixes for backward compatibility +@@clientName(Microsoft.RecoveryServices.TokenInformation.securityPIN, + "securityPin", + "java" +); +@@clientName(Microsoft.RecoveryServices.SecuredVMDetails.securedVMOsDiskEncryptionSetId, + "securedVmosDiskEncryptionSetId", + "java" +); + +// UTC property name fixes for backward compatibility +@@clientName(Microsoft.RecoveryServices.ProtectedItem.deferredDeleteTimeInUTC, + "deferredDeleteTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.ProtectedItem.softDeleteRetentionPeriodInDays, + "softDeleteRetentionPeriod", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.MabFileFolderProtectedItem.deferredDeleteSyncTimeInUTC, + "deferredDeleteSyncTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.IaasVMBackupRequest.recoveryPointExpiryTimeInUTC, + "recoveryPointExpiryTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureFileShareBackupRequest.recoveryPointExpiryTimeInUTC, + "recoveryPointExpiryTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadBackupRequest.recoveryPointExpiryTimeInUTC, + "recoveryPointExpiryTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSqlRecoveryPointExtendedInfo.dataDirectoryTimeInUTC, + "dataDirectoryTimeInUtc", + "java" +); + +// Service name management operations fixes +@@clientName(Microsoft.RecoveryServices.ResourceProviders.bMSPrepareDataMove, + "bmsPrepareDataMove", + "java" +); +@@clientName(Microsoft.RecoveryServices.ResourceProviders.bMSTriggerDataMove, + "bmsTriggerDataMove", + "java" +); + +// Actions required property name fix +@@clientName(Microsoft.RecoveryServices.PrivateLinkServiceConnectionState.actionsRequired, + "actionRequired", + "java" +); + +// IaaS VM protectable item fix (IaasVMProtectableItem -> IaaSvmProtectableItem) +@@clientName(Microsoft.RecoveryServices.IaasVMProtectableItem, + "IaaSvmProtectableItem", + "java" +); From 58cc136c1754576b51fc95a2cac05c2d2c4b32f0 Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 22:21:18 +0800 Subject: [PATCH 20/40] java backward compatible --- .../RecoveryServices.Management/client.tsp | 70 ++++++++++++++----- 1 file changed, 54 insertions(+), 16 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index ca9f4c05c915..de77ff59eccb 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -259,12 +259,6 @@ using Microsoft.RecoveryServices; "java" ); -// ResourceGuardProxies interface rename -@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxies.get, - "ResourceGuardProxy", - "java" -); - // Key/secret related mappings @@clientName(Microsoft.RecoveryServices.KEKDetails, "KekDetails", "java"); @@clientName(Microsoft.RecoveryServices.BEKDetails, "BekDetails", "java"); @@ -334,10 +328,6 @@ using Microsoft.RecoveryServices; "deferredDeleteTimeInUtc", "java" ); -@@clientName(Microsoft.RecoveryServices.ProtectedItem.softDeleteRetentionPeriodInDays, - "softDeleteRetentionPeriod", - "java" -); @@clientName(Microsoft.RecoveryServices.AzureWorkloadRecoveryPoint.recoveryPointTimeInUTC, "recoveryPointTimeInUtc", "java" @@ -358,17 +348,17 @@ using Microsoft.RecoveryServices; "recoveryPointExpiryTimeInUtc", "java" ); -@@clientName(Microsoft.RecoveryServices.AzureWorkloadSqlRecoveryPointExtendedInfo.dataDirectoryTimeInUTC, +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRecoveryPointExtendedInfo.dataDirectoryTimeInUTC, "dataDirectoryTimeInUtc", "java" ); // Service name management operations fixes -@@clientName(Microsoft.RecoveryServices.ResourceProviders.bMSPrepareDataMove, +@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, "bmsPrepareDataMove", "java" ); -@@clientName(Microsoft.RecoveryServices.ResourceProviders.bMSTriggerDataMove, +@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, "bmsTriggerDataMove", "java" ); @@ -379,8 +369,56 @@ using Microsoft.RecoveryServices; "java" ); -// IaaS VM protectable item fix (IaasVMProtectableItem -> IaaSvmProtectableItem) -@@clientName(Microsoft.RecoveryServices.IaasVMProtectableItem, - "IaaSvmProtectableItem", +// IaaS VM protectable item fix +@@clientName(Microsoft.RecoveryServices.IaaSVMProtectableItem, + "IaasVmProtectableItem", + "java" +); + +// Additional UTC property fixes for specific recovery point types +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLPointInTimeRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadPointInTimeRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSQLRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaPointInTimeRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAsePointInTimeRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPHanaRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); +@@clientName(Microsoft.RecoveryServices.AzureWorkloadSAPAseRecoveryPoint.recoveryPointTimeInUTC, + "recoveryPointTimeInUtc", + "java" +); + +// Fix ResourceGuardProxies interface operations breaking change +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxy.get, + "ResourceGuardProxyOperation", + "java" +); +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxy.delete, + "ResourceGuardProxyOperation", + "java" +); +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxy.put, + "ResourceGuardProxyOperation", + "java" +); +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxy.unlockDelete, + "ResourceGuardProxyOperation", "java" ); From 7439f222c76ad6955112b08fd5a8e21e5360145f Mon Sep 17 00:00:00 2001 From: Weidong Xu Date: Thu, 11 Sep 2025 22:47:52 +0800 Subject: [PATCH 21/40] merge ResourceGuardProxy and ResourceGuardProxies --- .../RecoveryServices.Management/client.tsp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index de77ff59eccb..d8f98e0de79a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -405,8 +405,16 @@ using Microsoft.RecoveryServices; "java" ); -// Fix ResourceGuardProxies interface operations breaking change -@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxy.get, +// Merge ResourceGuardProxies into ResourceGuardProxyOperation group +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxies.get, + "ResourceGuardProxyOperation", + "java" +); +@@clientName(Microsoft.RecoveryServices.ResourceGuardProxies.get, + "list", + "java" +); +@@clientLocation(Microsoft.RecoveryServices.ResourceGuardProxies.get, "ResourceGuardProxyOperation", "java" ); From 2545b16d901fd981b9c1575f383e45b940e801d2 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 13:43:09 +0800 Subject: [PATCH 22/40] update --- .../BackupResourceConfigResource.tsp | 14 +++------ .../back-compatible.tsp | 15 +++++++--- .../Common/BackupStorageConfig_Patch.json | 2 +- .../RecoveryServices.Management/routes.tsp | 7 ++--- .../stable/2025-02-01/bms.json | 29 +++---------------- .../Common/BackupStorageConfig_Patch.json | 2 +- 6 files changed, 24 insertions(+), 45 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index 9bc3fd440397..ed2af9369bcb 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -45,7 +45,6 @@ interface BackupResourceStorageConfigsNonCRR { * Fetches resource storage config. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("BackupResourceStorageConfigsNonCRR_Get") get is ArmResourceRead; /** @@ -53,7 +52,6 @@ interface BackupResourceStorageConfigsNonCRR { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - @operationId("BackupResourceStorageConfigsNonCRR_Update") update is ArmResourceCreateOrReplaceSync< BackupResourceConfigResource, Response = ArmResourceUpdatedResponse @@ -64,7 +62,6 @@ interface BackupResourceStorageConfigsNonCRR { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @patch(#{ implicitOptionality: false }) - @operationId("BackupResourceStorageConfigsNonCRR_patch") patch is ArmCustomPatchSync< BackupResourceConfigResource, PatchModel = BackupResourceConfigResource, @@ -77,8 +74,7 @@ interface BackupResourceStorageConfigsNonCRR { #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @action("prepareDataMove") - @operationId("BMSPrepareDataMove") - bMSPrepareDataMove is ArmResourceActionAsync< + bmsPrepareDataMove is ArmResourceActionAsync< BackupResourceConfigResource, PrepareDataMoveRequest, OkResponse @@ -90,8 +86,7 @@ interface BackupResourceStorageConfigsNonCRR { #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" @action("triggerDataMove") - @operationId("BMSTriggerDataMove") - bMSTriggerDataMove is ArmResourceActionAsync< + bmsTriggerDataMove is ArmResourceActionAsync< BackupResourceConfigResource, TriggerDataMoveRequest, OkResponse @@ -131,7 +126,6 @@ interface BMSPrepareDataMoveOperationResult { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - @operationId("BMSPrepareDataMoveOperationResult_Get") get is BackupResourceConfigOperationResultOps.Read< BackupResourceConfigResource, Response = ArmResponse | AcceptedResponse @@ -183,9 +177,9 @@ interface BackupResourceConfigOperationStatuses { @@doc(BackupResourceStorageConfigsNonCRR.patch::parameters.properties, "Vault storage config request" ); -@@doc(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove::parameters.body, +@@doc(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove::parameters.body, "Prepare data move request" ); -@@doc(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove::parameters.body, +@@doc(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove::parameters.body, "Trigger data move request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index 8a261c1d6905..71355bd81112 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -11,10 +11,10 @@ using Microsoft.RecoveryServices; @@clientName(BackupResourceStorageConfigsNonCRR.patch::parameters.properties, "parameters" ); -@@clientName(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove::parameters.body, +@@clientName(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove::parameters.body, "parameters" ); -@@clientName(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove::parameters.body, +@@clientName(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove::parameters.body, "parameters" ); @@ -56,10 +56,17 @@ using Microsoft.RecoveryServices; @@clientName(ResourceGuardProxy.put::parameters.resource, "parameters"); @@clientName(ResourceGuardProxy.unlockDelete::parameters.body, "parameters"); -@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, +@@clientName(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, + "BMSPrepareDataMove" +); +@@clientName(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, + "BMSTriggerDataMove" +); + +@@clientLocation(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, Microsoft.RecoveryServices ); -@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, +@@clientLocation(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, Microsoft.RecoveryServices ); @@clientLocation(BackupResourceConfigOperationStatuses.getOperationStatus, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json index ef6ba91dca11..54b81a03c837 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/Common/BackupStorageConfig_Patch.json @@ -14,6 +14,6 @@ "responses": { "204": {} }, - "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "operationId": "BackupResourceStorageConfigsNonCRR_Patch", "title": "Update Vault Storage Configuration" } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index c037fd5a0722..035dc9d7c413 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -195,7 +195,7 @@ interface Jobs { */ @query("$filter") $filter?: string, - ): ArmAcceptedResponse | ErrorResponse; + ): ArmAcceptedResponse | ErrorResponse; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" @@ -314,7 +314,7 @@ interface ValidateOperationResults { */ @path operationId: string, - ): ArmResponse | ArmAcceptedResponse | ErrorResponse; + ): ArmResponse | ArmAcceptedResponse | ErrorResponse; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" @@ -377,7 +377,7 @@ interface ProtectionContainerRefreshOperationResults { */ @path operationId: string, - ): ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; + ): ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" @@ -605,7 +605,6 @@ interface SecurityPINs { * Get the security PIN. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - @operationId("SecurityPINs_Get") @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN") @post get( diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 8c7328c54b3d..39283d141dca 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -822,14 +822,7 @@ ], "responses": { "202": { - "description": "Resource operation accepted.", - "headers": { - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } - } + "description": "Resource operation accepted." }, "204": { "description": "Operation completed successfully." @@ -2767,14 +2760,7 @@ ], "responses": { "202": { - "description": "Resource operation accepted.", - "headers": { - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } - } + "description": "Resource operation accepted." }, "default": { "description": "An unexpected error response.", @@ -4269,14 +4255,7 @@ } }, "202": { - "description": "Resource operation accepted.", - "headers": { - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } - } + "description": "Resource operation accepted." }, "default": { "description": "An unexpected error response.", @@ -4605,7 +4584,7 @@ } }, "patch": { - "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "operationId": "BackupResourceStorageConfigsNonCRR_Patch", "tags": [ "BackupResourceStorageConfigsNonCRR" ], diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json index ef6ba91dca11..54b81a03c837 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/Common/BackupStorageConfig_Patch.json @@ -14,6 +14,6 @@ "responses": { "204": {} }, - "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "operationId": "BackupResourceStorageConfigsNonCRR_Patch", "title": "Update Vault Storage Configuration" } From 7fb44f3152c1bd126d5b8ff3e3e98d3e313402a9 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 14:06:33 +0800 Subject: [PATCH 23/40] update fixme --- .../BackupEngineBaseResource.tsp | 12 +- .../BackupResourceConfigResource.tsp | 26 +- ...sourceEncryptionConfigExtendedResource.tsp | 36 +- .../BackupResourceVaultConfigResource.tsp | 24 +- .../JobResource.tsp | 24 +- .../PrivateEndpointConnectionResource.tsp | 14 +- .../ProtectedItemResource.tsp | 32 +- .../ProtectionContainerResource.tsp | 24 +- .../ProtectionIntentResource.tsp | 16 +- .../ProtectionPolicyResource.tsp | 22 +- .../RecoveryPointResource.tsp | 26 +- .../ResourceGuardProxyBaseResource.tsp | 16 +- .../back-compatible.tsp | 106 +- .../RecoveryServices.Management/models.tsp | 1164 ++++++++--------- .../RecoveryServices.Management/routes.tsp | 70 +- 15 files changed, 806 insertions(+), 806 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp index 68c909b457fe..b93e39d61ebc 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -11,11 +11,11 @@ namespace Microsoft.RecoveryServices; /** * The base backup engine class. All workload specific backup engines derive from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(BackupEngineBase) @Azure.ResourceManager.Legacy.customAzureResource @@ -31,7 +31,7 @@ model BackupEngineBaseResource extends Resource { /** * BackupEngineBaseResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: BackupEngineBase; } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index ed2af9369bcb..d240877c76b6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -13,11 +13,11 @@ namespace Microsoft.RecoveryServices; /** * The resource storage details. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("vaultstorageconfig") @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(BackupResourceConfig) @@ -34,11 +34,11 @@ model BackupResourceConfigResource extends Resource { /** * BackupResourceConfigResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: BackupResourceConfig; } -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface BackupResourceStorageConfigsNonCRR { /** @@ -51,7 +51,7 @@ interface BackupResourceStorageConfigsNonCRR { * Updates vault storage model type. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" update is ArmResourceCreateOrReplaceSync< BackupResourceConfigResource, Response = ArmResourceUpdatedResponse @@ -72,7 +72,7 @@ interface BackupResourceStorageConfigsNonCRR { * Prepares source vault for Data Move operation */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("prepareDataMove") bmsPrepareDataMove is ArmResourceActionAsync< BackupResourceConfigResource, @@ -84,7 +84,7 @@ interface BackupResourceStorageConfigsNonCRR { * Triggers Data Move Operation on target vault */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("triggerDataMove") bmsTriggerDataMove is ArmResourceActionAsync< BackupResourceConfigResource, @@ -118,14 +118,14 @@ interface BackupResourceConfigOperationResultOps >> > {} -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface BMSPrepareDataMoveOperationResult { /** * Fetches operation status for data move operation on vault */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" get is BackupResourceConfigOperationResultOps.Read< BackupResourceConfigResource, Response = ArmResponse | AcceptedResponse @@ -157,7 +157,7 @@ interface BackupResourceConfigOperationStatusOps >> > {} -#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface BackupResourceConfigOperationStatuses { /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp index b1771519a1e3..6725244d84e6 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -9,12 +9,12 @@ using TypeSpec.Http; namespace Microsoft.RecoveryServices; -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal( @@ -33,16 +33,16 @@ model BackupResourceEncryptionConfigExtendedResource extends Resource { /** * BackupResourceEncryptionConfigExtendedResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: BackupResourceEncryptionConfigExtended; } -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal( @@ -61,11 +61,11 @@ model BackupResourceEncryptionConfigResource extends Resource { /** * BackupResourceEncryptionConfigResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: BackupResourceEncryptionConfig; } -#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface BackupResourceEncryptionConfigs { /** @@ -76,9 +76,9 @@ interface BackupResourceEncryptionConfigs { /** * Updates Vault encryption config. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" update is ArmResourceCreateOrReplaceSync< BackupResourceEncryptionConfigResource, Response = OkResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index 692c900729a9..b14f2e2695ad 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -13,11 +13,11 @@ namespace Microsoft.RecoveryServices; /** * Backup resource vault config details. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("vaultconfig") @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(BackupResourceVaultConfig) @@ -34,11 +34,11 @@ model BackupResourceVaultConfigResource extends Resource { /** * BackupResourceVaultConfigResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: BackupResourceVaultConfig; } -#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface BackupResourceVaultConfigs { /** @@ -49,12 +49,12 @@ interface BackupResourceVaultConfigs { /** * Updates vault security config. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" put is ArmResourceCreateOrReplaceSync< BackupResourceVaultConfigResource, Parameters = { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string; }, @@ -69,8 +69,8 @@ interface BackupResourceVaultConfigs { BackupResourceVaultConfigResource, PatchModel = BackupResourceVaultConfigResource, Parameters = { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string; } diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index 55f491c200f2..7146dab17c93 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -11,11 +11,11 @@ namespace Microsoft.RecoveryServices; /** * Defines workload agnostic properties for a job. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(Job) @Azure.ResourceManager.Legacy.customAzureResource @@ -31,7 +31,7 @@ model JobResource extends Resource { /** * JobResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: Job; } @@ -74,8 +74,8 @@ interface JobCancellations { * Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call * GetCancelOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("cancel") trigger is ArmResourceActionSync; } @@ -112,8 +112,8 @@ interface JobOperationResults { /** * Fetches the result of any operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @get get is JobOperationResultsOps.Read< JobResource, @@ -150,8 +150,8 @@ interface ExportJobsOperationResults { * Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also * contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format. */ - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @get get is ExportJobsOperationResultsOps.Read< JobResource, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp index 78c90cb37497..eb2bfcc4f7c4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -11,11 +11,11 @@ namespace Microsoft.RecoveryServices; /** * Private Endpoint Connection Response Properties */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(PrivateEndpointConnection) @Azure.ResourceManager.Legacy.customAzureResource @@ -31,7 +31,7 @@ model PrivateEndpointConnectionResource extends Resource { /** * PrivateEndpointConnectionResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: PrivateEndpointConnection; } @@ -54,7 +54,7 @@ interface PrivateEndpointConnectionResources { /** * Delete Private Endpoint requests. This call is made by Backup Admin. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" delete is ArmResourceDeleteWithoutOkAsync< PrivateEndpointConnectionResource, Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index 55864428fc42..f80d4a6c8000 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -12,12 +12,12 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup items. */ -#suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(ProtectionContainerResource) @Azure.ResourceManager.Private.armResourceInternal(ProtectedItem) @Azure.ResourceManager.Legacy.customAzureResource @@ -33,7 +33,7 @@ model ProtectedItemResource extends Resource { /** * ProtectedItemResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ProtectedItem; } @@ -58,13 +58,13 @@ interface ProtectedItems { * Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an * asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectedItemResource, Parameters = { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string; }, @@ -75,8 +75,8 @@ interface ProtectedItems { * Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the * request, call the GetItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" delete is ArmResourceDeleteSync< ProtectedItemResource, Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse @@ -89,8 +89,8 @@ interface Backups { * Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the * operation, call GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("backup") trigger is ArmResourceActionSync< ProtectedItemResource, @@ -203,7 +203,7 @@ interface ProtectedItemOperationResults { /** * Fetches the result of any operation on the backup item. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" get is ProtectedItemOperationResultOps.Read< ProtectedItemResource, Response = ArmResponse | AcceptedResponse | ArmNoContentResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index 845455f2b862..ef9afd7d77a2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -13,11 +13,11 @@ namespace Microsoft.RecoveryServices; /** * Base class for container with backup items. Containers with specific workloads are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(BackupFabricResource) @Azure.ResourceManager.Private.armResourceInternal(ProtectionContainer) @Azure.ResourceManager.Legacy.customAzureResource @@ -33,7 +33,7 @@ model ProtectionContainerResource extends Resource { /** * ProtectionContainerResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ProtectionContainer; } @@ -49,7 +49,7 @@ interface ProtectionContainers { * This is an asynchronous operation. To track the operation status, use location header to call get latest status of * the operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" register is ArmResourceCreateOrUpdateAsync< ProtectionContainerResource, Response = ArmResourceUpdatedResponse | ArmAcceptedLroResponse & @@ -60,8 +60,8 @@ interface ProtectionContainers { * Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine * whether the backend service has finished processing the request, call Get Container Operation Result API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" unregister is ArmResourceDeleteSync< ProtectionContainerResource, Response = ArmDeletedResponse | AcceptedResponse | ArmDeletedNoContentResponse @@ -70,8 +70,8 @@ interface ProtectionContainers { /** * This is an async operation and the results should be tracked using location header or Azure-async-url. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" inquire is ArmResourceActionSync< ProtectionContainerResource, void, @@ -150,7 +150,7 @@ interface ProtectionContainerOperationResults { /** * Fetches the result of any operation on the container. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" get is ProtectionContainerOperationResultOps.Read< ProtectionContainerResource, Response = ArmResponse | AcceptedResponse | ArmNoContentResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp index 711c8fe414d1..f03ba931759b 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp @@ -10,11 +10,11 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup ProtectionIntent. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(BackupFabricResource) @Azure.ResourceManager.Private.armResourceInternal(ProtectionIntent) @Azure.ResourceManager.Legacy.customAzureResource @@ -30,7 +30,7 @@ model ProtectionIntentResource extends Resource { /** * ProtectionIntentResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ProtectionIntent; } @@ -45,7 +45,7 @@ interface ProtectionIntentResources { /** * Create Intent for Enabling backup of an item. This is a synchronous operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectionIntentResource, Response = ArmResourceUpdatedResponse @@ -54,7 +54,7 @@ interface ProtectionIntentResources { /** * Used to remove intent from an item */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" delete is ArmResourceDeleteSync< ProtectionIntentResource, Response = ArmDeletedNoContentResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 585063222cb0..7087d32c1fc4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -13,11 +13,11 @@ namespace Microsoft.RecoveryServices; /** * Base class for backup policy. Workload-specific backup policies are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(ProtectionPolicy) @Azure.ResourceManager.Legacy.customAzureResource @@ -33,7 +33,7 @@ model ProtectionPolicyResource extends Resource { /** * ProtectionPolicyResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ProtectionPolicy; } @@ -49,13 +49,13 @@ interface ProtectionPolicies { * Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched * using GetPolicyOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceSync< ProtectionPolicyResource, Parameters = { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string; }, @@ -66,7 +66,7 @@ interface ProtectionPolicies { * Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the * operation can be fetched using GetProtectionPolicyOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" delete is ArmResourceDeleteAsyncBase< ProtectionPolicyResource, Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse, Parameters = { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string; } @@ -101,8 +101,8 @@ interface ItemLevelRecoveryConnections { * explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of * provisioning, call GetProtectedItemOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("provisionInstantItemRecovery") provision is ArmResourceActionSync< RecoveryPointResource, @@ -114,8 +114,8 @@ interface ItemLevelRecoveryConnections { * Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer * displaying all recoverable files and folders. This is an asynchronous operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @action("revokeInstantItemRecovery") revoke is ArmResourceActionSync< RecoveryPointResource, diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp index 61d692fe45f7..ebfb414a8c0e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -8,12 +8,12 @@ using Azure.ResourceManager; namespace Microsoft.RecoveryServices; -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) @Azure.ResourceManager.Private.armResourceInternal(ResourceGuardProxyBase) @Azure.ResourceManager.Legacy.customAzureResource @@ -29,7 +29,7 @@ model ResourceGuardProxyBaseResource extends Resource { /** * ResourceGuardProxyBaseResource properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" properties?: ResourceGuardProxyBase; } @@ -44,7 +44,7 @@ interface ResourceGuardProxy { * Add or Update ResourceGuardProxy under vault * Secures vault critical operations */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" put is ArmResourceCreateOrReplaceSync< ResourceGuardProxyBaseResource, Response = ArmResourceUpdatedResponse diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index 71355bd81112..a78ca151a13e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -100,253 +100,253 @@ using Microsoft.RecoveryServices; @@clientLocation(OperationOperationGroup.validate, "Operation"); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSClassicComputeVMProtectedItem, AzureIaaSVMProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSComputeVMProtectedItem, AzureIaaSVMProtectedItem); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseProtectedItem, AzureVmWorkloadProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseProtectedItem, AzureVmWorkloadProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaDBInstanceProtectedItem, AzureVmWorkloadProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLDatabaseProtectedItem, AzureVmWorkloadProtectedItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaRecoveryPoint, AzureWorkloadRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRecoveryPoint, AzureWorkloadPointInTimeRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPAseRecoveryPoint, AzureWorkloadRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRecoveryPoint, AzureWorkloadPointInTimeRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLRecoveryPoint, AzureWorkloadRecoveryPoint); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRecoveryPoint, AzureWorkloadRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadPointInTimeRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRestoreRequest, AzureWorkloadSAPHanaRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPAseRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreRequest, AzureWorkloadRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureBackupServerContainer, DpmContainer); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSClassicComputeVMContainer, IaaSVMContainer); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSComputeVMContainer, IaaSVMContainer); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSClassicComputeVMProtectableItem, IaaSVMProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureIaaSComputeVMProtectableItem, IaaSVMProtectableItem); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureSQLAGWorkloadContainerProtectionContainer, AzureWorkloadContainer ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVMAppContainerProtectionContainer, AzureWorkloadContainer ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPAseSystemProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaDBInstance, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaHSRProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaSystemProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLAvailabilityGroupProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLDatabaseProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLInstanceProtectableItem, AzureVmWorkloadProtectableItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadAutoProtectionIntent, AzureRecoveryServiceVaultProtectionIntent ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLAutoProtectionIntent, AzureWorkloadAutoProtectionIntent ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest, AzureWorkloadSAPHanaPointInTimeRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPHanaRestoreWithRehydrateRequest, AzureWorkloadSAPHanaRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreRequest, AzureWorkloadSQLRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest, AzureWorkloadSQLPointInTimeRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLRestoreWithRehydrateRequest, AzureWorkloadSQLRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPAseDatabaseWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPAseSystemWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaDatabaseWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSAPHanaSystemWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLDatabaseWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureVmWorkloadSQLInstanceWorkloadItem, AzureVmWorkloadItem ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadPointInTimeRecoveryPoint, AzureWorkloadRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSAPAsePointInTimeRestoreRequest, AzureWorkloadSAPAseRestoreRequest ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(AzureWorkloadSQLPointInTimeRecoveryPoint, AzureWorkloadSQLRecoveryPoint ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(IaasVMRestoreWithRehydrationRequest, IaasVMRestoreRequest); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@hierarchyBuilding(ValidateIaasVMRestoreOperationRequest, ValidateRestoreOperationRequest ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 1a86287561d1..72adf56f1937 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -12,15 +12,15 @@ namespace Microsoft.RecoveryServices; */ union StorageType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GeoRedundant: "GeoRedundant", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" LocallyRedundant: "LocallyRedundant", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ZoneRedundant: "ZoneRedundant", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ReadAccessGeoZoneRedundant: "ReadAccessGeoZoneRedundant", } @@ -29,11 +29,11 @@ union StorageType { */ union StorageTypeState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Locked: "Locked", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Unlocked: "Unlocked", } @@ -42,11 +42,11 @@ union StorageTypeState { */ union DedupState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", } @@ -55,11 +55,11 @@ union DedupState { */ union XcoolState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", } @@ -68,37 +68,37 @@ union XcoolState { */ union DataSourceType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VM: "VM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FileFolder: "FileFolder", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSqlDb: "AzureSqlDb", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDB: "SQLDB", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Exchange: "Exchange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Sharepoint: "Sharepoint", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VMwareVM: "VMwareVM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SystemState: "SystemState", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Client: "Client", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GenericDataSource: "GenericDataSource", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDataBase: "SQLDataBase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureFileShare: "AzureFileShare", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDatabase: "SAPHanaDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPAseDatabase: "SAPAseDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDBInstance: "SAPHanaDBInstance", } @@ -107,11 +107,11 @@ union DataSourceType { */ union ValidationStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", } @@ -120,15 +120,15 @@ union ValidationStatus { */ union ProtectionStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotProtected: "NotProtected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Protecting: "Protecting", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Protected: "Protected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionFailed: "ProtectionFailed", } @@ -137,9 +137,9 @@ union ProtectionStatus { */ union FabricName { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Azure: "Azure", } @@ -148,9 +148,9 @@ union FabricName { */ union AcquireStorageAccountLock { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Acquire: "Acquire", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotAcquire: "NotAcquire", } @@ -159,15 +159,15 @@ union AcquireStorageAccountLock { */ union SupportStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Supported: "Supported", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DefaultOFF: "DefaultOFF", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DefaultON: "DefaultON", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotSupported: "NotSupported", } @@ -176,17 +176,17 @@ union SupportStatus { */ union ProtectionIntentItemType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureResourceItem: "AzureResourceItem", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" RecoveryServiceVaultItem: "RecoveryServiceVaultItem", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureWorkloadContainerAutoProtectionIntent: "AzureWorkloadContainerAutoProtectionIntent", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureWorkloadAutoProtectionIntent: "AzureWorkloadAutoProtectionIntent", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureWorkloadSQLAutoProtectionIntent: "AzureWorkloadSQLAutoProtectionIntent", } @@ -195,23 +195,23 @@ union ProtectionIntentItemType { */ union BackupManagementType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureIaasVM: "AzureIaasVM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" MAB: "MAB", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DPM: "DPM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackupServer: "AzureBackupServer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSql: "AzureSql", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureStorage: "AzureStorage", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureWorkload: "AzureWorkload", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DefaultBackup: "DefaultBackup", } @@ -220,17 +220,17 @@ union BackupManagementType { */ union UsagesUnit { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Count: "Count", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Bytes: "Bytes", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Seconds: "Seconds", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Percent: "Percent", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CountPerSecond: "CountPerSecond", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" BytesPerSecond: "BytesPerSecond", } @@ -239,11 +239,11 @@ union UsagesUnit { */ union EnhancedSecurityState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", } @@ -252,13 +252,13 @@ union EnhancedSecurityState { */ union SoftDeleteFeatureState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AlwaysON: "AlwaysON", } @@ -267,59 +267,59 @@ union SoftDeleteFeatureState { */ union EncryptionAtRestType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" MicrosoftManaged: "MicrosoftManaged", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CustomerManaged: "CustomerManaged", } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union LastUpdateStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotEnabled: "NotEnabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" PartiallySucceeded: "PartiallySucceeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" PartiallyFailed: "PartiallyFailed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Initialized: "Initialized", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FirstInitialization: "FirstInitialization", } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union InfrastructureEncryptionState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disabled: "Disabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Enabled: "Enabled", } /** * Gets or sets provisioning state of the private endpoint connection */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union ProvisioningState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Deleting: "Deleting", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Pending: "Pending", } @@ -328,11 +328,11 @@ union ProvisioningState { */ union VaultSubResourceType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackup: "AzureBackup", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackup_secondary: "AzureBackup_secondary", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSiteRecovery: "AzureSiteRecovery", } @@ -341,13 +341,13 @@ union VaultSubResourceType { */ union PrivateEndpointConnectionStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Pending: "Pending", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Approved: "Approved", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Rejected: "Rejected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Disconnected: "Disconnected", } @@ -356,15 +356,15 @@ union PrivateEndpointConnectionStatus { */ union OperationStatusValues { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" InProgress: "InProgress", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Succeeded: "Succeeded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Canceled: "Canceled", } @@ -373,11 +373,11 @@ union OperationStatusValues { */ union DataMoveLevel { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Vault: "Vault", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Container: "Container", } @@ -386,11 +386,11 @@ union DataMoveLevel { */ union CreateMode { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Default: "Default", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Recover: "Recover", } @@ -399,11 +399,11 @@ union CreateMode { */ union BackupEngineType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DpmBackupEngine: "DpmBackupEngine", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackupServerEngine: "AzureBackupServerEngine", } @@ -412,19 +412,19 @@ union BackupEngineType { */ union ProtectionState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IRPending: "IRPending", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Protected: "Protected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionError: "ProtectionError", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionStopped: "ProtectionStopped", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionPaused: "ProtectionPaused", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" BackupsSuspended: "BackupsSuspended", } @@ -433,17 +433,17 @@ union ProtectionState { */ union ResourceHealthStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Healthy: "Healthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" TransientDegraded: "TransientDegraded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" PersistentDegraded: "PersistentDegraded", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" TransientUnhealthy: "TransientUnhealthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" PersistentUnhealthy: "PersistentUnhealthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", } @@ -452,15 +452,15 @@ union ResourceHealthStatus { */ union RecoveryType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" OriginalLocation: "OriginalLocation", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AlternateLocation: "AlternateLocation", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" RestoreDisks: "RestoreDisks", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Offline: "Offline", } @@ -469,15 +469,15 @@ union RecoveryType { */ union CopyOptions { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CreateCopy: "CreateCopy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Skip: "Skip", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Overwrite: "Overwrite", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FailOnConflict: "FailOnConflict", } @@ -486,11 +486,11 @@ union CopyOptions { */ union RestoreRequestType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FullShareRestore: "FullShareRestore", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ItemLevelRestore: "ItemLevelRestore", } @@ -499,37 +499,37 @@ union RestoreRequestType { */ union WorkloadType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VM: "VM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FileFolder: "FileFolder", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSqlDb: "AzureSqlDb", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDB: "SQLDB", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Exchange: "Exchange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Sharepoint: "Sharepoint", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VMwareVM: "VMwareVM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SystemState: "SystemState", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Client: "Client", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GenericDataSource: "GenericDataSource", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDataBase: "SQLDataBase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureFileShare: "AzureFileShare", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDatabase: "SAPHanaDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPAseDatabase: "SAPAseDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDBInstance: "SAPHanaDBInstance", } @@ -538,21 +538,21 @@ union WorkloadType { */ union PolicyType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Full: "Full", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Differential: "Differential", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Log: "Log", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CopyOnlyFull: "CopyOnlyFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Incremental: "Incremental", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotFull: "SnapshotFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", } @@ -564,13 +564,13 @@ union PolicyType { */ union TieringMode { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" TierRecommended: "TierRecommended", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" TierAfter: "TierAfter", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DoNotTier: "DoNotTier", } @@ -579,15 +579,15 @@ union TieringMode { */ union RetentionDurationType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Days: "Days", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Weeks: "Weeks", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Months: "Months", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Years: "Years", } @@ -596,31 +596,31 @@ union RetentionDurationType { */ union HealthStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Passed: "Passed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ActionRequired: "ActionRequired", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ActionSuggested: "ActionSuggested", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union IAASVMPolicyType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" V1: "V1", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" V2: "V2", } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" union IaasVMSnapshotConsistencyType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" OnlyCrashConsistent: "OnlyCrashConsistent", } @@ -629,19 +629,19 @@ union IaasVMSnapshotConsistencyType { */ union ProtectedItemState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IRPending: "IRPending", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Protected: "Protected", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionError: "ProtectionError", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionStopped: "ProtectionStopped", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ProtectionPaused: "ProtectionPaused", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" BackupsSuspended: "BackupsSuspended", } @@ -650,13 +650,13 @@ union ProtectedItemState { */ union LastBackupStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Healthy: "Healthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Unhealthy: "Unhealthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IRPending: "IRPending", } @@ -665,15 +665,15 @@ union LastBackupStatus { */ union ProtectedItemHealthStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Healthy: "Healthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Unhealthy: "Unhealthy", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" NotReachable: "NotReachable", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IRPending: "IRPending", } @@ -682,19 +682,19 @@ union ProtectedItemHealthStatus { */ union RestorePointType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Full: "Full", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Log: "Log", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Differential: "Differential", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Incremental: "Incremental", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotFull: "SnapshotFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", } @@ -703,11 +703,11 @@ union RestorePointType { */ union OverwriteOptions { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FailOnConflict: "FailOnConflict", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Overwrite: "Overwrite", } @@ -716,17 +716,17 @@ union OverwriteOptions { */ union RecoveryMode { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FileRecovery: "FileRecovery", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" WorkloadRecovery: "WorkloadRecovery", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotAttach: "SnapshotAttach", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" RecoveryUsingSnapshot: "RecoveryUsingSnapshot", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotAttachAndRecover: "SnapshotAttachAndRecover", } @@ -735,11 +735,11 @@ union RecoveryMode { */ union SQLDataDirectoryType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Data: "Data", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Log: "Log", } @@ -748,23 +748,23 @@ union SQLDataDirectoryType { */ union RestorePointQueryType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Full: "Full", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Log: "Log", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Differential: "Differential", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FullAndDifferential: "FullAndDifferential", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" All: "All", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Incremental: "Incremental", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotFull: "SnapshotFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", } @@ -773,19 +773,19 @@ union RestorePointQueryType { */ union JobStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" InProgress: "InProgress", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Completed: "Completed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CompletedWithWarnings: "CompletedWithWarnings", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Cancelled: "Cancelled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Cancelling: "Cancelling", } @@ -794,27 +794,27 @@ union JobStatus { */ union JobOperationType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Register: "Register", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" UnRegister: "UnRegister", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ConfigureBackup: "ConfigureBackup", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Backup: "Backup", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Restore: "Restore", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DisableBackup: "DisableBackup", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DeleteBackupData: "DeleteBackupData", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CrossRegionRestore: "CrossRegionRestore", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Undelete: "Undelete", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" UpdateCustomerManagedKey: "UpdateCustomerManagedKey", } @@ -823,11 +823,11 @@ union JobOperationType { */ union RetentionScheduleFormat { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Daily: "Daily", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Weekly: "Weekly", } @@ -836,35 +836,35 @@ union RetentionScheduleFormat { */ union MabServerType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Unknown: "Unknown", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IaasVMContainer: "IaasVMContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IaasVMServiceContainer: "IaasVMServiceContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DPMContainer: "DPMContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackupServerContainer: "AzureBackupServerContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" MABContainer: "MABContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Cluster: "Cluster", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSqlContainer: "AzureSqlContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Windows: "Windows", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VCenter: "VCenter", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VMAppContainer: "VMAppContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLAGWorkLoadContainer: "SQLAGWorkLoadContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" StorageContainer: "StorageContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GenericContainer: "GenericContainer", } @@ -873,13 +873,13 @@ union MabServerType { */ union HealthState { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Passed: "Passed", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ActionRequired: "ActionRequired", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" ActionSuggested: "ActionSuggested", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", } @@ -888,13 +888,13 @@ union HealthState { */ union ScheduleRunType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Daily: "Daily", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Weekly: "Weekly", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Hourly: "Hourly", } @@ -903,11 +903,11 @@ union ScheduleRunType { */ union AzureFileShareType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" XSMB: "XSMB", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" XSync: "XSync", } @@ -916,13 +916,13 @@ union AzureFileShareType { */ union OperationType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Register: "Register", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Reregister: "Reregister", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Rehydrate: "Rehydrate", } @@ -931,11 +931,11 @@ union OperationType { */ union InquiryStatus { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Success: "Success", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Failed: "Failed", } @@ -944,21 +944,21 @@ union InquiryStatus { */ union BackupType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Full: "Full", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Differential: "Differential", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Log: "Log", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" CopyOnlyFull: "CopyOnlyFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Incremental: "Incremental", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotFull: "SnapshotFull", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SnapshotCopyOnlyFull: "SnapshotCopyOnlyFull", } @@ -967,21 +967,21 @@ union BackupType { */ union WorkloadItemType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLInstance: "SQLInstance", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDataBase: "SQLDataBase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaSystem: "SAPHanaSystem", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDatabase: "SAPHanaDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPAseSystem: "SAPAseSystem", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPAseDatabase: "SAPAseDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDBInstance: "SAPHanaDBInstance", } @@ -990,11 +990,11 @@ union WorkloadItemType { */ union Type { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" BackupProtectedItemCountSummary: "BackupProtectedItemCountSummary", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" BackupProtectionContainerCountSummary: "BackupProtectionContainerCountSummary", } @@ -1003,11 +1003,11 @@ union Type { */ union IntentItemType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLInstance: "SQLInstance", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLAvailabilityGroupContainer: "SQLAvailabilityGroupContainer", } @@ -1016,37 +1016,37 @@ union IntentItemType { */ union ContainerType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Unknown: "Unknown", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IaasVMContainer: "IaasVMContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" IaasVMServiceContainer: "IaasVMServiceContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" DPMContainer: "DPMContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureBackupServerContainer: "AzureBackupServerContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" MABContainer: "MABContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Cluster: "Cluster", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSqlContainer: "AzureSqlContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Windows: "Windows", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VCenter: "VCenter", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VMAppContainer: "VMAppContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLAGWorkLoadContainer: "SQLAGWorkLoadContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" StorageContainer: "StorageContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GenericContainer: "GenericContainer", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" HanaHSRContainer: "HanaHSRContainer", } @@ -1055,37 +1055,37 @@ union ContainerType { */ union BackupItemType { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Invalid: "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VM: "VM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" FileFolder: "FileFolder", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureSqlDb: "AzureSqlDb", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDB: "SQLDB", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Exchange: "Exchange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Sharepoint: "Sharepoint", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" VMwareVM: "VMwareVM", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SystemState: "SystemState", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Client: "Client", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" GenericDataSource: "GenericDataSource", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SQLDataBase: "SQLDataBase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" AzureFileShare: "AzureFileShare", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDatabase: "SAPHanaDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPAseDatabase: "SAPAseDatabase", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SAPHanaDBInstance: "SAPHanaDBInstance", } @@ -1094,16 +1094,16 @@ union BackupItemType { */ union RehydrationPriority { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" Standard: "Standard", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" High: "High", } /** * HTTP Status Code of the operation. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum HttpStatusCode { Continue, SwitchingProtocols, @@ -1159,7 +1159,7 @@ enum HttpStatusCode { * 1. Compute Azure VM is Microsoft.Compute/virtualMachines * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum ProtectableContainerType { Invalid, Unknown, @@ -1184,7 +1184,7 @@ enum ProtectableContainerType { /** * Recovery point tier type. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum RecoveryPointTierType { Invalid, InstantRP, @@ -1196,29 +1196,29 @@ enum RecoveryPointTierType { * Recovery point tier status. */ union RecoveryPointTierStatus { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" "Invalid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" "Valid", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" "Disabled", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" "Deleted", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" "Rehydrated", string, } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum JobSupportedAction { Invalid, Cancellable, Retriable, } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum DayOfWeek { Sunday, Monday, @@ -1232,15 +1232,15 @@ enum DayOfWeek { /** * Network access settings to be used for restored disks */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum TargetDiskNetworkAccessOption { SameAsOnSourceDisks, EnablePrivateAccessForAllDisks, EnablePublicAccessForAllDisks, } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum WeekOfMonth { First, Second, @@ -1250,8 +1250,8 @@ enum WeekOfMonth { Invalid, } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum MonthOfYear { Invalid, January, @@ -1271,7 +1271,7 @@ enum MonthOfYear { /** * The resource storage details. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupResourceConfig { /** * Storage type @@ -1311,7 +1311,7 @@ model Resource { /** * Resource Id represents the complete path to the resource. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) id?: string; @@ -1324,27 +1324,27 @@ model Resource { /** * Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) type?: string; /** * Resource location. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" location?: string; /** * Resource tags. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tags?: Record; /** * Optional ETag. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" eTag?: string; } @@ -1501,14 +1501,14 @@ model FeatureSupportRequest { /** * backup support feature type. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" featureType: string; } /** * Response for feature support requests for Azure IaasVm */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVMResourceFeatureSupportResponse { /** * Support status of feature @@ -1519,7 +1519,7 @@ model AzureVMResourceFeatureSupportResponse { /** * Base class for backup ProtectionIntent. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("protectionIntentItemType") model ProtectionIntent { /** @@ -1556,7 +1556,7 @@ model ProtectionIntent { /** * List of ProtectionIntent resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectionIntentResourceList extends ResourceList { /** * List of resources. @@ -1579,7 +1579,7 @@ model ResourceList { /** * Backup management usage for vault. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupManagementUsageList extends ResourceList { /** * The list of backup management usages for the given vault. @@ -1733,7 +1733,7 @@ model ClientDiscoveryForLogSpecification { /** * Backup resource vault config details. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupResourceVaultConfig { /** * Storage type. @@ -1776,9 +1776,9 @@ model BackupResourceVaultConfig { isSoftDeleteFeatureStateEditable?: boolean; } -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupResourceEncryptionConfigExtended extends BackupResourceEncryptionConfig { /** @@ -1792,8 +1792,8 @@ model BackupResourceEncryptionConfigExtended useSystemAssignedIdentity?: boolean; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupResourceEncryptionConfig { /** * Encryption At Rest Type @@ -1810,9 +1810,9 @@ model BackupResourceEncryptionConfig { */ subscriptionId?: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" lastUpdateStatus?: LastUpdateStatus; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" infrastructureEncryptionState?: InfrastructureEncryptionState; } @@ -1823,7 +1823,7 @@ model PrivateEndpointConnection { /** * Gets or sets provisioning state of the private endpoint connection */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" provisioningState?: ProvisioningState; /** @@ -1983,7 +1983,7 @@ model OperationStatusExtendedInfo { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } @@ -2026,7 +2026,7 @@ model VaultStorageConfigOperationResultResponse { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } @@ -2062,20 +2062,20 @@ model TriggerDataMoveRequest { /** * Pause GC */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" pauseGC?: boolean; } /** * Base class for backup items. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("protectedItemType") model ProtectedItem { /** * backup item type. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" protectedItemType: string; /** @@ -2123,7 +2123,7 @@ model ProtectedItem { /** * Time for deferred deletion in UTC */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" deferredDeleteTimeInUTC?: utcDateTime; /** @@ -2176,7 +2176,7 @@ model ProtectedItem { /** * List of RecoveryPoint resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model RecoveryPointResourceList extends ResourceList { /** * List of resources. @@ -2188,20 +2188,20 @@ model RecoveryPointResourceList extends ResourceList { /** * Base class for backup copies. Workload-specific backup copies are derived from this class. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("objectType") model RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } /** * Base class for restore request. Workload-specific restore requests are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model RestoreRequestResource extends Resource { /** * RestoreRequestResource properties @@ -2217,7 +2217,7 @@ model RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; /** @@ -2229,7 +2229,7 @@ model RestoreRequest { /** * List of ProtectionPolicy resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectionPolicyResourceList extends ResourceList { /** * List of resources. @@ -2241,7 +2241,7 @@ model ProtectionPolicyResourceList extends ResourceList { /** * Base class for backup policy. Workload-specific backup policies are derived from this class. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("backupManagementType") model ProtectionPolicy { /** @@ -2252,7 +2252,7 @@ model ProtectionPolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" backupManagementType: string; /** @@ -2264,7 +2264,7 @@ model ProtectionPolicy { /** * List of Job resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model JobResourceList extends ResourceList { /** * List of resources. @@ -2276,7 +2276,7 @@ model JobResourceList extends ResourceList { /** * Defines workload agnostic properties for a job. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("jobType") model Job { /** @@ -2317,14 +2317,14 @@ model Job { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" jobType: string; } /** * Base class for operation result info. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model OperationResultInfoBaseResource extends OperationWorkerResponse { /** * OperationResultInfoBaseResource operation @@ -2340,7 +2340,7 @@ model OperationResultInfoBase { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } @@ -2356,14 +2356,14 @@ model OperationWorkerResponse { /** * HTTP headers associated with this operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" headers?: Record; } /** * List of ProtectedItem resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectedItemResourceList extends ResourceList { /** * List of resources. @@ -2395,11 +2395,11 @@ model ValidateOperationRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ValidateOperationsResponse { /** * Base class for validate operation response. @@ -2444,7 +2444,7 @@ model ErrorDetail { /** * List of BackupEngineBase resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupEngineBaseResourceList extends ResourceList { /** * List of resources. @@ -2456,7 +2456,7 @@ model BackupEngineBaseResourceList extends ResourceList { /** * The base backup engine class. All workload specific backup engines derive from this class. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("backupEngineType") model BackupEngineBase { /** @@ -2573,7 +2573,7 @@ model BackupEngineExtendedInfo { /** * List of ProtectableContainer resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectableContainerResourceList extends ResourceList { /** * List of resources. @@ -2585,7 +2585,7 @@ model ProtectableContainerResourceList extends ResourceList { /** * Protectable Container Class. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectableContainerResource extends Resource { /** * ProtectableContainerResource properties @@ -2613,7 +2613,7 @@ model ProtectableContainer { * 1. Compute Azure VM is Microsoft.Compute/virtualMachines * 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" protectableContainerType: ProtectableContainerType; /** @@ -2630,7 +2630,7 @@ model ProtectableContainer { /** * Base class for container with backup items. Containers with specific workloads are derived from this class. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("containerType") model ProtectionContainer { /** @@ -2659,7 +2659,7 @@ model ProtectionContainer { * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload * Backup is VMAppContainer */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" containerType: ProtectableContainerType; /** @@ -2671,7 +2671,7 @@ model ProtectionContainer { /** * List of WorkloadItem resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadItemResourceList extends ResourceList { /** * List of resources. @@ -2683,7 +2683,7 @@ model WorkloadItemResourceList extends ResourceList { /** * Base class for backup item. Workload-specific backup items are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadItemResource extends Resource { /** * WorkloadItemResource properties @@ -2709,7 +2709,7 @@ model WorkloadItem { /** * Type of the backup item. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" workloadItemType: string; /** @@ -2726,7 +2726,7 @@ model WorkloadItem { /** * Base class for backup request. Workload-specific backup requests are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupRequestResource extends Resource { /** * BackupRequestResource properties @@ -2742,15 +2742,15 @@ model BackupRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } /** * Parameters to Provision ILR API. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ILRRequestResource extends Resource { /** * ILRRequestResource properties @@ -2761,20 +2761,20 @@ model ILRRequestResource extends Resource { /** * Parameters to Provision ILR API. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @discriminator("objectType") model ILRRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } /** * List of WorkloadProtectableItem resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadProtectableItemResourceList extends ResourceList { /** * List of resources. @@ -2786,7 +2786,7 @@ model WorkloadProtectableItemResourceList extends ResourceList { /** * Base class for backup item. Workload-specific backup items are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadProtectableItemResource extends Resource { /** * WorkloadProtectableItemResource properties @@ -2812,7 +2812,7 @@ model WorkloadProtectableItem { /** * Type of the backup item. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" protectableItemType: string; /** @@ -2829,7 +2829,7 @@ model WorkloadProtectableItem { /** * List of ProtectionContainer resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectionContainerResourceList extends ResourceList { /** * List of resources. @@ -2865,12 +2865,12 @@ model TokenInformation { /** * Security PIN */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" securityPIN?: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model MoveRPAcrossTiersRequest { /** * Gets the class type. @@ -2900,14 +2900,14 @@ model ListRecoveryPointsRecommendedForMoveRequest { /** * List of Recovery Points excluded from Move */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" excludedRPList?: string[]; } /** * List of ResourceGuardProxyBase resources */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ResourceGuardProxyBaseResourceList extends ResourceList { /** * List of resources. @@ -2916,27 +2916,27 @@ model ResourceGuardProxyBaseResourceList extends ResourceList { value?: ResourceGuardProxyBaseResource[]; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ResourceGuardProxyBase { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" resourceGuardResourceId: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @OpenAPI.extension("x-ms-identifiers", #[]) resourceGuardOperationDetails?: ResourceGuardOperationDetail[]; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" lastUpdatedTime?: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" description?: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ResourceGuardOperationDetail { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" vaultCriticalOperation?: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" defaultResourceRequest?: string; } @@ -2944,9 +2944,9 @@ model ResourceGuardOperationDetail { * Request body of unlock delete API. */ model UnlockDeleteRequest { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" resourceGuardOperationRequests?: string[]; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" resourceToBeDeleted?: string; } @@ -2979,7 +2979,7 @@ model FetchTieringCostInfoRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } @@ -2991,7 +2991,7 @@ model TieringCostInfo { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" objectType: string; } @@ -3027,7 +3027,7 @@ model AzureFileshareProtectedItem extends ProtectedItem { /** * Health details of different KPIs */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kpisHealths?: Record; /** @@ -3044,7 +3044,7 @@ model AzureFileshareProtectedItem extends ProtectedItem { /** * KPI Resource Health Details */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model KPIResourceHealthDetails { /** * Resource Health Status @@ -3141,7 +3141,7 @@ model AzureFileShareRecoveryPoint extends RecoveryPoint { /** * Contains recovery point size */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointSizeInGB?: int32; /** @@ -3198,7 +3198,7 @@ model RecoveryPointTierInformation { /** * Recovery point tier status. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" extendedInfo?: Record; } @@ -3266,7 +3266,7 @@ model RestoreFileSpecs { /** * Target Azure File Share Info. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model TargetAFSRestoreInfo { /** * File share name @@ -3355,7 +3355,7 @@ model SubProtectionPolicy { * Key is Target Tier, defined in RecoveryPointTierType enum. * Tiering policy specifies the criteria to move RP to the target tier. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tieringPolicy?: Record; /** @@ -3372,7 +3372,7 @@ model SchedulePolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" schedulePolicyType: string; } @@ -3384,7 +3384,7 @@ model RetentionPolicy { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. */ - #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" retentionPolicyType: string; } @@ -3418,10 +3418,10 @@ model TieringPolicy { * Snapshot Backup related fields for WorkloadType SaPHanaSystem */ model SnapshotBackupAdditionalDetails { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" instantRpRetentionRangeInDays?: int32; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" instantRPDetails?: string; /** @@ -3509,14 +3509,14 @@ model VaultRetentionPolicy { */ vaultRetention: RetentionPolicy; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" snapshotRetentionInDays: int32; } /** * IaaS VM workload-specific backup item representing the Classic Compute VM. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSClassicComputeVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3564,7 +3564,7 @@ alias AzureIaaSVMProtectedItemProperties = { /** * Health details of different KPIs */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kpisHealths?: Record; /** @@ -3604,7 +3604,7 @@ alias AzureIaaSVMProtectedItemProperties = { /** * IaaS VM workload-specific backup item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3617,15 +3617,15 @@ model AzureIaaSVMProtectedItem extends ProtectedItem { /** * Azure IaaS VM workload-specific Health Details. */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMHealthDetails extends ResourceHealthDetails {} /** * Additional information on Azure IaaS VM specific backup item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMProtectedItemExtendedInfo { /** * The oldest backup copy available for this backup item across all tiers. @@ -3673,7 +3673,7 @@ model ExtendedProperties { linuxVmApplicationName?: string; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DiskExclusionProperties { /** * List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. @@ -3689,7 +3689,7 @@ model DiskExclusionProperties { /** * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSComputeVMProtectedItem extends ProtectedItem { /** * backup item type. @@ -3702,7 +3702,7 @@ model AzureIaaSComputeVMProtectedItem extends ProtectedItem { /** * Azure IaaS VM workload-specific error information. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMErrorInfo { /** * Error code. @@ -3778,7 +3778,7 @@ model AzureIaaSVMJob extends Job { /** * Azure IaaS VM workload-specific additional information for job. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMJobExtendedInfo { /** * List of tasks associated with this job. @@ -3789,13 +3789,13 @@ model AzureIaaSVMJobExtendedInfo { /** * Job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** * Job internal properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" internalPropertyBag?: Record; /** @@ -3817,7 +3817,7 @@ model AzureIaaSVMJobExtendedInfo { /** * Azure IaaS VM workload-specific job task details. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMJobTaskDetails { /** * The task display name. @@ -3864,7 +3864,7 @@ model AzureIaaSVMJobTaskDetails { /** * Azure IaaS VM workload-specific job object. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMJobV2 extends Job { /** * Gets or sets the state/actions applicable on this job like cancel/retry. @@ -3906,9 +3906,9 @@ model AzureIaaSVMJobV2 extends Job { /** * IaaS VM workload-specific backup policy. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" instantRPDetails?: InstantRPAdditionalDetails; /** @@ -3926,7 +3926,7 @@ model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { * Key is Target Tier, defined in RecoveryPointTierType enum. * Tiering policy specifies the criteria to move RP to the target tier. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tieringPolicy?: Record; /** @@ -3939,9 +3939,9 @@ model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { */ timeZone?: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" policyType?: IAASVMPolicyType; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" snapshotConsistencyType?: IaasVMSnapshotConsistencyType; /** @@ -3950,12 +3950,12 @@ model AzureIaaSVMProtectionPolicy extends ProtectionPolicy { backupManagementType: "AzureIaasVM"; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model InstantRPAdditionalDetails { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" azureBackupRGNamePrefix?: string; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" azureBackupRGNameSuffix?: string; } @@ -4098,7 +4098,7 @@ model AzureStorageJobExtendedInfo { /** * Job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** @@ -4188,7 +4188,7 @@ alias AzureVmWorkloadProtectedItemProperties = { /** * Health details of different KPIs */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kpisHealths?: Record; /** @@ -4278,7 +4278,7 @@ model DistributedNodesInfo { /** * Azure VM workload-specific protected item representing SAP ASE Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPAseDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4291,7 +4291,7 @@ model AzureVmWorkloadSAPAseDatabaseProtectedItem extends ProtectedItem { /** * Azure VM workload-specific protected item representing SAP HANA Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4304,7 +4304,7 @@ model AzureVmWorkloadSAPHanaDatabaseProtectedItem extends ProtectedItem { /** * Azure VM workload-specific protected item representing SAP HANA DBInstance. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4317,7 +4317,7 @@ model AzureVmWorkloadSAPHanaDBInstanceProtectedItem extends ProtectedItem { /** * Azure VM workload-specific protected item representing SQL Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLDatabaseProtectedItem extends ProtectedItem { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4406,7 +4406,7 @@ model AzureWorkloadJobExtendedInfo { /** * Job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** @@ -4471,7 +4471,7 @@ alias AzureWorkloadRecoveryPointProperties = { /** * UTC time at which recovery point was created */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointTimeInUTC?: utcDateTime; /** @@ -4488,7 +4488,7 @@ alias AzureWorkloadRecoveryPointProperties = { /** * Eligibility of RP to be moved to another tier */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointMoveReadinessInfo?: Record; /** @@ -4512,7 +4512,7 @@ model AzureWorkloadRecoveryPoint extends RecoveryPoint { /** * RecoveryPoint Tier Information V2 */ -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model RecoveryPointTierInformationV2 extends RecoveryPointTierInformation { /** * Recovery point tier type. @@ -4525,11 +4525,11 @@ model RecoveryPointTierInformationV2 extends RecoveryPointTierInformation { status?: RecoveryPointTierStatus; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model RecoveryPointMoveReadinessInfo { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" isReadyForMove?: boolean; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" additionalInfo?: string; } @@ -4564,7 +4564,7 @@ alias AzureWorkloadRestoreRequestProperties = { /** * Workload specific property bag. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** @@ -4642,17 +4642,17 @@ model TargetRestoreInfo { * Encapsulates information regarding snapshot recovery for SAP Hana */ model SnapshotRestoreParameters { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" skipAttachAndMount?: boolean; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" logPointInTimeForDBRecovery?: string; } /** * Recovery point specific to PointInTime in SAPHana */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaPointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4673,7 +4673,7 @@ alias AzureWorkloadSAPHanaPointInTimeRestoreRequestProperties = { /** * AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaPointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4687,7 +4687,7 @@ model AzureWorkloadSAPHanaPointInTimeRestoreRequest extends RestoreRequest { /** * AzureWorkload SAP Hana-specific restore. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4700,7 +4700,7 @@ model AzureWorkloadSAPHanaRestoreRequest extends RestoreRequest { /** * SAPHana specific recoverypoint, specifically encapsulates full/diff recoverypoints */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4713,7 +4713,7 @@ model AzureWorkloadSAPHanaRecoveryPoint extends RecoveryPoint { /** * Recovery point specific to PointInTime in SAPAse */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4727,7 +4727,7 @@ model AzureWorkloadSAPAsePointInTimeRecoveryPoint extends RecoveryPoint { /** * AzureWorkload SAP Ase-specific restore. Specifically for PointInTime/Log restore */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPAsePointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4745,7 +4745,7 @@ model AzureWorkloadSAPAsePointInTimeRestoreRequest extends RestoreRequest { /** * AzureWorkload SAP Ase-specific restore. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPAseRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4758,7 +4758,7 @@ model AzureWorkloadSAPAseRestoreRequest extends RestoreRequest { /** * SAPAse specific recoverypoint, specifically encapsulates full/diff recoverypoints */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPAseRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4771,7 +4771,7 @@ model AzureWorkloadSAPAseRecoveryPoint extends RecoveryPoint { /** * Recovery point specific to PointInTime */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLPointInTimeRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4800,7 +4800,7 @@ alias AzureWorkloadSQLRecoveryPointProperties = { /** * SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint along with extended info */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLRecoveryPoint extends RecoveryPoint { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4814,7 +4814,7 @@ model AzureWorkloadSQLRecoveryPoint extends RecoveryPoint { /** * Extended info class details */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLRecoveryPointExtendedInfo { /** * UTC time at which data directory info was captured @@ -4831,7 +4831,7 @@ model AzureWorkloadSQLRecoveryPointExtendedInfo { /** * SQLDataDirectory info */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model SQLDataDirectory { /** * Type of data directory mapping @@ -4859,7 +4859,7 @@ alias AzureWorkloadSQLPointInTimeRestoreRequestProperties = { /** * AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLPointInTimeRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4892,7 +4892,7 @@ alias AzureWorkloadSQLRestoreRequestProperties = { /** * AzureWorkload SQL -specific restore. Specifically for full/diff restore */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -4906,7 +4906,7 @@ model AzureWorkloadSQLRestoreRequest extends RestoreRequest { /** * Encapsulates information regarding data directory */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model SQLDataDirectoryMapping { /** * Type of data directory mapping @@ -4932,7 +4932,7 @@ model SQLDataDirectoryMapping { /** * BEK is bitlocker encryption key. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BEKDetails { /** * Secret is BEK. @@ -4977,13 +4977,13 @@ model BmsrpQueryObject { /** * Whether the RP can be moved to another tier */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" moveReadyRPOnly?: boolean; /** * Flag to indicate whether Soft Deleted RPs should be included/excluded from result. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" includeSoftDeletedRP?: boolean; } @@ -4991,9 +4991,9 @@ model BmsrpQueryObject { * Disk information */ model DiskInformation { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" lun?: int32; - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" name?: string; } @@ -5133,7 +5133,7 @@ model DpmJobExtendedInfo { /** * The job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** @@ -5175,7 +5175,7 @@ model DpmJobTaskDetails { /** * Additional information on Backup engine specific backup item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DPMProtectedItem extends ProtectedItem { /** * Friendly name of the managed item @@ -5206,12 +5206,12 @@ model DPMProtectedItem extends ProtectedItem { /** * Additional information of DPM Protected item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DPMProtectedItemExtendedInfo { /** * Attribute to provide information on various DBs. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" protectableObjectLoadPath?: Record; /** @@ -5366,7 +5366,7 @@ model GenericProtectionPolicy extends ProtectionPolicy { backupManagementType: "GenericProtectionPolicy"; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model HourlySchedule { /** * Interval at which backup needs to be triggered. For hourly the value @@ -5385,7 +5385,7 @@ model HourlySchedule { scheduleWindowDuration?: int32; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DailySchedule { /** * List of times of day this schedule has to be run. @@ -5393,9 +5393,9 @@ model DailySchedule { scheduleRunTimes?: utcDateTime[]; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WeeklySchedule { - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" scheduleRunDays?: DayOfWeek[]; /** @@ -5462,7 +5462,7 @@ model GenericProtectedItem extends ProtectedItem { /** * Loosely coupled (type, value) associations (example - parent of a protected item) */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" sourceAssociations?: Record; /** @@ -5524,7 +5524,7 @@ model GetProtectedItemQueryObject { /** * IaaS VM workload specific backup copy. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaasVMRecoveryPoint extends RecoveryPoint { /** * Type of the backup copy. @@ -5600,7 +5600,7 @@ model IaasVMRecoveryPoint extends RecoveryPoint { /** * Eligibility of RP to be moved to another tier */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointMoveReadinessInfo?: Record; /** @@ -5659,7 +5659,7 @@ model KeyAndSecretDetails { /** * KEK is encryption key for BEK. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model KEKDetails { /** * Key is KEK. @@ -5726,7 +5726,7 @@ model SecuredVMDetails { /** * Gets or Sets Disk Encryption Set Id for Secured VM OS Disk */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" securedVMOsDiskEncryptionSetId?: string; } @@ -5862,7 +5862,7 @@ alias IaasVMRestoreRequestProperties = { /** * Stores Secured VM Details */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" securedVMDetails?: SecuredVMDetails; /** @@ -5874,7 +5874,7 @@ alias IaasVMRestoreRequestProperties = { /** * IaaS VM workload-specific restore. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaasVMRestoreRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -6123,7 +6123,7 @@ model MabFileFolderProtectedItem extends ProtectedItem { /** * Sync time for deferred deletion in UTC */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" deferredDeleteSyncTimeInUTC?: int64; /** @@ -6216,7 +6216,7 @@ model MabJobExtendedInfo { /** * The job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; /** @@ -6303,7 +6303,7 @@ model PrepareDataMoveResponse /** * Source Vault Properties */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" sourceVaultProperties?: Record; /** @@ -6465,7 +6465,7 @@ model SimpleSchedulePolicyV2 extends SchedulePolicy { /** * AzureRestoreValidation request. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ValidateIaasVMRestoreOperationRequest extends ValidateOperationRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -6552,7 +6552,7 @@ model VaultJobExtendedInfo { /** * Job properties. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" propertyBag?: Record; } @@ -6631,7 +6631,7 @@ model DpmContainer extends ProtectionContainer { /** * Additional information of the DPMContainer. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DPMContainerExtendedInfo { /** * Last refresh time of the DPMContainer. @@ -6656,7 +6656,7 @@ model AzureFileShareBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -6693,7 +6693,7 @@ model AzureFileShareProtectableItem extends WorkloadProtectableItem { /** * Update snapshot Uri with the correct friendly Name of the source Azure file share. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureFileShareProvisionILRRequest extends ILRRequest { /** * Recovery point ID. @@ -6761,7 +6761,7 @@ model IaaSVMContainer extends ProtectionContainer { /** * IaaS VM workload-specific backup item representing the Classic Compute VM. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSClassicComputeVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6791,7 +6791,7 @@ alias IaaSVMProtectableItemProperties = { /** * IaaS VM workload-specific backup item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaaSVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6819,7 +6819,7 @@ model AzureIaaSComputeVMContainer extends ProtectionContainer { /** * IaaS VM workload-specific backup item representing the Azure Resource Manager VM. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureIaaSComputeVMProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -6832,7 +6832,7 @@ model AzureIaaSComputeVMProtectableItem extends WorkloadProtectableItem { /** * Container for SQL workloads under SQL Availability Group. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureSQLAGWorkloadContainerProtectionContainer extends ProtectionContainer { /** @@ -6975,7 +6975,7 @@ model InquiryValidation { /** * Dictionary to store the count of ProtectableItems with key POType. */ - #suppress "@azure-tools/typespec-azure-core/no-unknown" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-unknown" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) protectableItemCount?: unknown; } @@ -7052,7 +7052,7 @@ model AzureStorageProtectableContainer extends ProtectableContainer { /** * Azure workload-specific container */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVMAppContainerProtectableContainer extends ProtectableContainer { /** * Type of the container. The value of this property for @@ -7065,7 +7065,7 @@ model AzureVMAppContainerProtectableContainer extends ProtectableContainer { /** * Container for SQL workloads under Azure Virtual Machines. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVMAppContainerProtectionContainer extends ProtectionContainer { /** * Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. @@ -7200,7 +7200,7 @@ model PreBackupValidation { /** * Azure VM workload-specific protectable item representing SAP ASE Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPAseDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7214,7 +7214,7 @@ model AzureVmWorkloadSAPAseDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SAP ASE Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPAseDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7227,7 +7227,7 @@ model AzureVmWorkloadSAPAseDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP ASE System. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPAseSystemProtectableItem extends WorkloadProtectableItem { /** @@ -7241,7 +7241,7 @@ model AzureVmWorkloadSAPAseSystemProtectableItem /** * Azure VM workload-specific workload item representing SAP ASE System. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPAseSystemWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7254,7 +7254,7 @@ model AzureVmWorkloadSAPAseSystemWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP HANA Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7268,7 +7268,7 @@ model AzureVmWorkloadSAPHanaDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SAP HANA Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7281,7 +7281,7 @@ model AzureVmWorkloadSAPHanaDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SAP HANA System. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaSystemProtectableItem extends WorkloadProtectableItem { /** @@ -7295,7 +7295,7 @@ model AzureVmWorkloadSAPHanaSystemProtectableItem /** * Azure VM workload-specific protectable item representing SAP HANA Dbinstance. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaDBInstance extends WorkloadProtectableItem { /** * Type of the backup item. @@ -7308,7 +7308,7 @@ model AzureVmWorkloadSAPHanaDBInstance extends WorkloadProtectableItem { /** * Azure VM workload-specific protectable item representing HANA HSR. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaHSRProtectableItem extends WorkloadProtectableItem { /** * Type of the backup item. @@ -7321,7 +7321,7 @@ model AzureVmWorkloadSAPHanaHSRProtectableItem extends WorkloadProtectableItem { /** * Azure VM workload-specific workload item representing SAP HANA System. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSAPHanaSystemWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7334,7 +7334,7 @@ model AzureVmWorkloadSAPHanaSystemWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SQL Availability Group. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLAvailabilityGroupProtectableItem extends WorkloadProtectableItem { /** @@ -7354,7 +7354,7 @@ model AzureVmWorkloadSQLAvailabilityGroupProtectableItem /** * Azure VM workload-specific protectable item representing SQL Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLDatabaseProtectableItem extends WorkloadProtectableItem { /** @@ -7368,7 +7368,7 @@ model AzureVmWorkloadSQLDatabaseProtectableItem /** * Azure VM workload-specific workload item representing SQL Database. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLDatabaseWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7381,7 +7381,7 @@ model AzureVmWorkloadSQLDatabaseWorkloadItem extends WorkloadItem { /** * Azure VM workload-specific protectable item representing SQL Instance. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLInstanceProtectableItem extends WorkloadProtectableItem { /** @@ -7395,7 +7395,7 @@ model AzureVmWorkloadSQLInstanceProtectableItem /** * Azure VM workload-specific workload item representing SQL Instance. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVmWorkloadSQLInstanceWorkloadItem extends WorkloadItem { /** * Type of the backup item. @@ -7428,7 +7428,7 @@ model AzureWorkloadBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -7475,7 +7475,7 @@ model AzureResourceProtectionIntent extends ProtectionIntent { /** * AzureResource(IaaS VM) Specific feature support request */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureVMResourceFeatureSupportRequest extends FeatureSupportRequest { /** * Size of the resource: VM size(A/D series etc) in case of IaasVM @@ -7516,7 +7516,7 @@ model AzureWorkloadAutoProtectionIntent extends ProtectionIntent { /** * Azure Workload SQL Auto Protection intent item. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLAutoProtectionIntent extends ProtectionIntent { /** * backup protectionIntent type. @@ -7532,7 +7532,7 @@ model AzureWorkloadSQLAutoProtectionIntent extends ProtectionIntent { /** * Query parameters to fetch backup summaries. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSBackupSummariesQueryObject { /** * Backup management type for this container. @@ -7568,7 +7568,7 @@ model ProtectionIntentQueryObject { /** * Query parameters to fetch list of backup engines. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSBackupEngineQueryObject { /** * attribute to add extended info @@ -7579,7 +7579,7 @@ model BMSBackupEngineQueryObject { /** * Query parameters to fetch list of backup engines. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSBackupEnginesQueryObject { /** * Backup management type for the backup engine. @@ -7600,7 +7600,7 @@ model BMSBackupEnginesQueryObject { /** * The query filters that can be used with the list containers API. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSContainerQueryObject { /** * Backup management type for this container. @@ -7636,7 +7636,7 @@ model BMSContainerQueryObject { /** * The query filters that can be used with the inquire container API. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSContainersInquiryQueryObject { /** * Backup management type for this container. @@ -7682,7 +7682,7 @@ model BmspoQueryObject { /** * The query filters that can be used with the refresh container API. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSRefreshContainersQueryObject { /** * Backup management type for this container. @@ -7693,7 +7693,7 @@ model BMSRefreshContainersQueryObject { /** * Filters to list items that can be backed up. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BMSWorkloadItemQueryObject { /** * Backup management type. @@ -7822,19 +7822,19 @@ model GenericContainerExtendedInfo { /** * Azure Backup Service Endpoints for the container */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" serviceEndpoints?: Record; } /** * IaaS VM workload-specific backup request. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaasVMBackupRequest extends BackupRequest { /** * Backup copy will expire after the time specified (UTC). */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" recoveryPointExpiryTimeInUTC?: utcDateTime; /** @@ -7846,7 +7846,7 @@ model IaasVMBackupRequest extends BackupRequest { /** * Restore files/folders from a backup copy of IaaS VM. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaasVMILRRegistrationRequest extends ILRRequest { /** * ID of the IaaS VM backup copy from where the files/folders have to be restored. @@ -7967,7 +7967,7 @@ model MabContainerExtendedInfo { /** * MAB workload-specific Health Details. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model MABContainerHealthDetails { /** * Health Code @@ -8017,7 +8017,7 @@ model OperationStatusJobsExtendedInfo extends OperationStatusExtendedInfo { /** * Stores all the failed jobs along with the corresponding error codes. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" failedJobsError?: Record; /** @@ -8029,7 +8029,7 @@ model OperationStatusJobsExtendedInfo extends OperationStatusExtendedInfo { /** * Operation status extended info for ILR provision action. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model OperationStatusProvisionILRExtendedInfo extends OperationStatusExtendedInfo { /** @@ -8062,7 +8062,7 @@ model OperationStatusValidateOperationExtendedInfo /** * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest extends RestoreRequest { /** @@ -8098,7 +8098,7 @@ model RecoveryPointRehydrationInfo { /** * AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSAPHanaRestoreWithRehydrateRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8116,7 +8116,7 @@ model AzureWorkloadSAPHanaRestoreWithRehydrateRequest extends RestoreRequest { /** * AzureWorkload SQL-specific restore with integrated rehydration of recovery point. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest extends RestoreRequest { /** @@ -8137,7 +8137,7 @@ model AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest /** * AzureWorkload SQL-specific restore with integrated rehydration of recovery point */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model AzureWorkloadSQLRestoreWithRehydrateRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8156,7 +8156,7 @@ model AzureWorkloadSQLRestoreWithRehydrateRequest extends RestoreRequest { /** * IaaS VM workload-specific restore with integrated rehydration of recovery point. */ -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model IaasVMRestoreWithRehydrationRequest extends RestoreRequest { /** * This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. @@ -8214,7 +8214,7 @@ model TieringCostRehydrationInfo extends TieringCostInfo { /** * Source tier to target tier rehydration cost per GB per month */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" retailRehydrationCostPerGBPerMonth: float64; /** @@ -8240,13 +8240,13 @@ model TieringCostSavingInfo extends TieringCostInfo { /** * Source tier retail cost per GB per month */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" retailSourceTierCostPerGBPerMonth: float64; /** * Target tier retail cost per GB per month */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" retailTargetTierCostPerGBPerMonth: float64; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index 035dc9d7c413..f8e7afa81707 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -13,7 +13,7 @@ using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ProtectionIntentOperationGroup { /** * It will validate followings @@ -48,7 +48,7 @@ interface ProtectionIntentOperationGroup { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupStatus { /** * Get the container backup status @@ -75,7 +75,7 @@ interface BackupStatus { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface FeatureSupport { /** * It will validate if given feature with resource properties is supported in service @@ -102,7 +102,7 @@ interface FeatureSupport { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupProtectionIntent { /** * Provides a pageable list of all intents that are present within a vault. @@ -136,7 +136,7 @@ interface BackupProtectionIntent { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupUsageSummaries { /** * Fetches the backup management usage summaries of the vault. @@ -170,12 +170,12 @@ interface BackupUsageSummaries { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface Jobs { /** * Triggers export of jobs specified by filters and returns an OperationID to track. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport") @post export( @@ -198,7 +198,7 @@ interface Jobs { ): ArmAcceptedResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupProtectedItems { /** * Provides a pageable list of all items that are backed up within a vault. @@ -232,7 +232,7 @@ interface BackupProtectedItems { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface OperationOperationGroup { /** * Validate operation for specified backed up item. This is a synchronous operation. @@ -259,7 +259,7 @@ interface OperationOperationGroup { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ValidateOperation { /** * Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API. @@ -289,12 +289,12 @@ interface ValidateOperation { > | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ValidateOperationResults { /** * Fetches the result of a triggered validate operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}") @get get( @@ -317,7 +317,7 @@ interface ValidateOperationResults { ): ArmResponse | ArmAcceptedResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ValidateOperationStatuses { /** * Fetches the status of a triggered validate operation. The status can be in progress, completed @@ -346,12 +346,12 @@ interface ValidateOperationStatuses { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ProtectionContainerRefreshOperationResults { /** * Provides the result of the refresh operation triggered by the BeginRefresh operation. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}") @get get( @@ -380,7 +380,7 @@ interface ProtectionContainerRefreshOperationResults { ): ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ProtectableContainers { /** * Lists the containers that can be registered to Recovery Services Vault. @@ -400,7 +400,7 @@ interface ProtectableContainers { ...ResourceGroupParameter, ...SubscriptionIdParameter, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @path fabricName: string, @@ -412,13 +412,13 @@ interface ProtectableContainers { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface ProtectionContainersOperationGroup { /** * Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an * asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers") @post refresh( @@ -447,7 +447,7 @@ interface ProtectionContainersOperationGroup { ): ArmAcceptedResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupOperationResults { /** * Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the @@ -455,8 +455,8 @@ interface BackupOperationResults { * successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is * part of the Location header of the operation response. */ - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}") @get get( @@ -479,7 +479,7 @@ interface BackupOperationResults { ): OkResponse | ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupOperationStatuses { /** * Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed @@ -508,7 +508,7 @@ interface BackupOperationStatuses { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupProtectableItems { /** * Provides a pageable list of protectable objects within your subscription according to the query filter and the @@ -543,7 +543,7 @@ interface BackupProtectableItems { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface BackupProtectionContainers { /** * Lists the containers registered to Recovery Services Vault. @@ -571,7 +571,7 @@ interface BackupProtectionContainers { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface DeletedProtectionContainers { /** * Lists the soft deleted containers registered to Recovery Services Vault. @@ -598,8 +598,8 @@ interface DeletedProtectionContainers { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface SecurityPINs { /** * Get the security PIN. @@ -619,8 +619,8 @@ interface SecurityPINs { ...ResourceGroupParameter, ...SubscriptionIdParameter, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-core/casing-style" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @header `x-ms-authorization-auxiliary`?: string, @@ -632,7 +632,7 @@ interface SecurityPINs { ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface FetchTieringCost { /** * Provides the details of the tiering related sizes and cost. @@ -670,7 +670,7 @@ interface FetchTieringCost { > | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface GetTieringCostOperationResult { /** * Gets the result of async operation for tiering cost @@ -691,13 +691,13 @@ interface GetTieringCostOperationResult { @path vaultName: string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @path operationId: string, ): ArmResponse | ErrorResponse; } -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface TieringCostOperationStatus { /** * Gets the status of async operations of tiering cost @@ -718,7 +718,7 @@ interface TieringCostOperationStatus { @path vaultName: string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @path operationId: string, ): ArmResponse | ErrorResponse; From 5e497d9695b69f3bfe111e737abcfe1a68c580c2 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 14:36:22 +0800 Subject: [PATCH 24/40] change to legacy operations list --- .../RecoveryServices.Management/main.tsp | 3 ++- .../RecoveryServices.Management/models.tsp | 18 +++++++++++++++++ .../stable/2025-02-01/bms.json | 20 ++++++++++++++++++- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp index 4be4910e7a0f..01c5cb835973 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/main.tsp @@ -52,4 +52,5 @@ enum Versions { v2025_02_01: "2025-02-01", } -interface Operations extends Azure.ResourceManager.Operations {} +interface Operations + extends Azure.ResourceManager.Legacy.Operations> {} diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 72adf56f1937..3e841cc6e69d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -8302,3 +8302,21 @@ model FetchTieringCostSavingsInfoForVaultRequest */ objectType: "FetchTieringCostSavingsInfoForVaultRequest"; } + +/** + * Operations List response which contains list of available APIs. + */ +model ClientDiscoveryResponse { + /** + * List of available operations. + */ + @pageItems + @OpenAPI.extension("x-ms-identifiers", #[]) + value?: ClientDiscoveryValueForSingleApi[]; + + /** + * Link to the next chunk of Response. + */ + @nextLink + nextLink?: string; +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 39283d141dca..a4b37325b539 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -153,7 +153,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + "$ref": "#/definitions/ClientDiscoveryResponse" } }, "default": { @@ -8254,6 +8254,24 @@ } } }, + "ClientDiscoveryResponse": { + "type": "object", + "description": "Operations List response which contains list of available APIs.", + "properties": { + "value": { + "type": "array", + "description": "List of available operations.", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "Link to the next chunk of Response." + } + } + }, "ClientDiscoveryValueForSingleApi": { "type": "object", "description": "Available operation details.", From 5db1c31dcbed5cee9402395a4c0d1a6dcaeac02f Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 14:48:47 +0800 Subject: [PATCH 25/40] fix --- .../RecoveryServices.Management/client.tsp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index d8f98e0de79a..96a7344a9f8f 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -4,11 +4,11 @@ import "./main.tsp"; using Azure.ClientGenerator.Core; using Microsoft.RecoveryServices; -@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, +@@clientLocation(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, "Client", "go" ); -@@clientLocation(BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, +@@clientLocation(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, "Client", "go" ); @@ -354,11 +354,11 @@ using Microsoft.RecoveryServices; ); // Service name management operations fixes -@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bMSPrepareDataMove, +@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, "bmsPrepareDataMove", "java" ); -@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bMSTriggerDataMove, +@@clientName(Microsoft.RecoveryServices.BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, "bmsTriggerDataMove", "java" ); From c07cddbe92b735bc3feef14f78e73fe2364cd148 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 15:25:56 +0800 Subject: [PATCH 26/40] update --- .../RecoveryServices.Management/routes.tsp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index f8e7afa81707..daa4f0d4a1bf 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -444,7 +444,7 @@ interface ProtectionContainersOperationGroup { */ @query("$filter") $filter?: string, - ): ArmAcceptedResponse | ErrorResponse; + ): ArmAcceptedResponse | ErrorResponse; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@ -476,7 +476,11 @@ interface BackupOperationResults { */ @path operationId: string, - ): OkResponse | ArmAcceptedResponse | ArmNoContentResponse | ErrorResponse; + ): + | OkResponse + | ArmAcceptedResponse + | ArmNoContentResponse + | ErrorResponse; } #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" From 871d592cb0bd22d5d5d19858619950f829b9108e Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 12 Sep 2025 15:48:00 +0800 Subject: [PATCH 27/40] fix --- .../stable/2025-02-01/bms.json | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index a4b37325b539..27a25d159738 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -2412,14 +2412,7 @@ ], "responses": { "202": { - "description": "Resource operation accepted.", - "headers": { - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } - } + "description": "Resource operation accepted." }, "default": { "description": "An unexpected error response.", @@ -2810,14 +2803,7 @@ "description": "The request has succeeded." }, "202": { - "description": "Resource operation accepted.", - "headers": { - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - } - } + "description": "Resource operation accepted." }, "204": { "description": "Operation completed successfully." From ddc737a82de3f9944f65bcc8b8dad65fd7fd44d2 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" <80496810+v-jiaodi@users.noreply.github.com> Date: Fri, 19 Sep 2025 14:51:29 +0800 Subject: [PATCH 28/40] resolve breaking --- .../RecoveryServices.Management/client.tsp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 96a7344a9f8f..c4e70fb2b176 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -430,3 +430,7 @@ using Microsoft.RecoveryServices; "ResourceGuardProxyOperation", "java" ); +@@clientName(Microsoft.RecoveryServices, + "RecoveryServicesBackupClient", + "javascript" +); From 412265b6fa600cf73cc64a57632b1e1794de5d90 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 19 Sep 2025 16:41:06 +0800 Subject: [PATCH 29/40] fix ordering and go config --- .../RecoveryServices.Management/client.tsp | 1150 +++++++++++++++++ .../tspconfig.yaml | 4 +- 2 files changed, 1152 insertions(+), 2 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 96a7344a9f8f..ef4ea988d460 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -1,8 +1,11 @@ import "@azure-tools/typespec-client-generator-core"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; import "./main.tsp"; using Azure.ClientGenerator.Core; using Microsoft.RecoveryServices; +using Azure.ResourceManager; @@clientLocation(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, "Client", @@ -430,3 +433,1150 @@ using Microsoft.RecoveryServices; "ResourceGuardProxyOperation", "java" ); + +// Custom operations to reorder parameters (resourceGroupName after vaultName) for various operations + +// BMSPrepareDataMoveOperationResult operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op bmsPrepareDataMoveOperationResultGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupStorageConfigName: "vaultstorageconfig", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): VaultStorageConfigOperationResultResponse; + +@@override(BMSPrepareDataMoveOperationResult.get, + bmsPrepareDataMoveOperationResultGet, + "java,go,python" +); + +// BackupEngines operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupEnginesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupEngineName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $skipToken?: string, +): BackupEngineBaseResource; + +@@override(BackupEngines.get, backupEnginesGet, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupEnginesList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $skipToken?: string, +): ArmResponse; + +@@override(BackupEngines.list, backupEnginesList, "java,go,python"); + +// BackupJobs operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupJobsList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $skipToken?: string, +): ArmResponse; + +@@override(BackupJobs.list, backupJobsList, "java,go,python"); + +// BackupPolicies operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupPoliciesList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, +): ArmResponse; + +@@override(BackupPolicies.list, backupPoliciesList, "java,go,python"); + +// BackupResourceEncryptionConfigs operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceEncryptionConfigsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupEncryptionConfig: string, +): BackupResourceEncryptionConfigExtendedResource; + +@@override(BackupResourceEncryptionConfigs.get, + backupResourceEncryptionConfigsGet, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceEncryptionConfigsUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupEncryptionConfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: BackupResourceEncryptionConfigResource, +): ArmResponse; + +@@override(BackupResourceEncryptionConfigs.update, + backupResourceEncryptionConfigsUpdate, + "java,go,python" +); + +// BackupResourceStorageConfigsNonCRR operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +#suppress "@azure-tools/typespec-azure-core/casing-style" "override" +op backupResourceStorageConfigsNonCRRGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupstorageconfig: string, +): BackupResourceConfigResource; + +@@override(BackupResourceStorageConfigsNonCRR.get, + backupResourceStorageConfigsNonCRRGet, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +#suppress "@azure-tools/typespec-azure-core/casing-style" "override" +op backupResourceStorageConfigsNonCRRPatch( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + properties: BackupResourceConfigResource, +): ArmNoContentResponse; + +@@override(BackupResourceStorageConfigsNonCRR.patch, + backupResourceStorageConfigsNonCRRPatch, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +#suppress "@azure-tools/typespec-azure-core/casing-style" "override" +op backupResourceStorageConfigsNonCRRUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: BackupResourceConfigResource, +): ArmResourceUpdatedResponse; + +@@override(BackupResourceStorageConfigsNonCRR.update, + backupResourceStorageConfigsNonCRRUpdate, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +#suppress "@azure-tools/typespec-azure-core/casing-style" "override" +op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: PrepareDataMoveRequest, +): ArmAcceptedLroResponse; + +@@override(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, + backupResourceStorageConfigsNonCRRBmsPrepareDataMove, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +#suppress "@azure-tools/typespec-azure-core/casing-style" "override" +op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: TriggerDataMoveRequest, +): ArmAcceptedLroResponse; + +@@override(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, + backupResourceStorageConfigsNonCRRBmsTriggerDataMove, + "java,go,python" +); + +// BackupResourceVaultConfigs operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceVaultConfigsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupconfig: string, +): BackupResourceVaultConfigResource; + +@@override(BackupResourceVaultConfigs.get, + backupResourceVaultConfigsGet, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceVaultConfigsPut( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: BackupResourceVaultConfigResource, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + #suppress "@azure-tools/typespec-azure-core/casing-style" "override" + `x-ms-authorization-auxiliary`?: string, +): ArmResourceUpdatedResponse; + +@@override(BackupResourceVaultConfigs.put, + backupResourceVaultConfigsPut, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceVaultConfigsUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + properties: BackupResourceVaultConfigResource, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + #suppress "@azure-tools/typespec-azure-core/casing-style" "override" + `x-ms-authorization-auxiliary`?: string, +): ArmNoContentResponse; + +@@override(BackupResourceVaultConfigs.update, + backupResourceVaultConfigsUpdate, + "java,go,python" +); + +// BackupWorkloadItems operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupWorkloadItemsList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $skipToken?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: void, +): ArmResponse; + +@@override(BackupWorkloadItems.list, backupWorkloadItemsList, "java,go,python"); + +// Backups operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupsTrigger( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: BackupRequestResource, +): void; + +@@override(Backups.trigger, backupsTrigger, "java,go,python"); + +// RecoveryPoints operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op recoveryPointsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + recoveryPointId: string, +): RecoveryPointResource; + +@@override(RecoveryPoints.get, recoveryPointsGet, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op recoveryPointsList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, +): ArmResponse; + +@@override(RecoveryPoints.list, recoveryPointsList, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op recoveryPointsMoveRecoveryPoint( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: MoveRPAcrossTiersRequest, +): ArmAcceptedLroResponse; + +@@override(RecoveryPoints.moveRecoveryPoint, + recoveryPointsMoveRecoveryPoint, + "java,go,python" +); + +// RecoveryPointsRecommendedForMove operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op recoveryPointsRecommendedForMoveList( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: ListRecoveryPointsRecommendedForMoveRequest, +): ArmResponse; + +@@override(RecoveryPointsRecommendedForMove.list, + recoveryPointsRecommendedForMoveList, + "java,go,python" +); + +// BackupResourceConfigOperationStatuses operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op backupResourceConfigOperationStatusesGetOperationStatus( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupStorageConfigName: "vaultstorageconfig", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ArmResponse; + +@@override(BackupResourceConfigOperationStatuses.getOperationStatus, + backupResourceConfigOperationStatusesGetOperationStatus, + "java,go,python" +); + +// ExportJobsOperationResults operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op exportJobsOperationResultsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + backupJobs: "backupJobs", +): OperationResultInfoBaseResource; + +@@override(ExportJobsOperationResults.get, + exportJobsOperationResultsGet, + "java,go,python" +); + +// ItemLevelRecoveryConnections operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op itemLevelRecoveryConnectionsProvision( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: ILRRequestResource, +): void; + +@@override(ItemLevelRecoveryConnections.provision, + itemLevelRecoveryConnectionsProvision, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op itemLevelRecoveryConnectionsRevoke( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: void, +): void; + +@@override(ItemLevelRecoveryConnections.revoke, + itemLevelRecoveryConnectionsRevoke, + "java,go,python" +); + +// JobCancellations operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op jobCancellationsTrigger( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + jobName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: void, +): void; + +@@override(JobCancellations.trigger, jobCancellationsTrigger, "java,go,python"); + +// JobDetails operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op jobDetailsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + jobName: string, +): JobResource; + +@@override(JobDetails.get, jobDetailsGet, "java,go,python"); + +// JobOperationResults operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op jobOperationResultsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + jobName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): JobResource; + +@@override(JobOperationResults.get, jobOperationResultsGet, "java,go,python"); + +// PrivateEndpointConnectionResources operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op privateEndpointConnectionResourcesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + privateEndpointConnectionName: string, +): Microsoft.RecoveryServices.PrivateEndpointConnectionResource; + +@@override(PrivateEndpointConnectionResources.get, + privateEndpointConnectionResourcesGet, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op privateEndpointConnectionResourcesPut( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + privateEndpointConnectionName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: Microsoft.RecoveryServices.PrivateEndpointConnectionResource, +): Microsoft.RecoveryServices.PrivateEndpointConnectionResource | ArmAcceptedLroResponse; + +@@override(PrivateEndpointConnectionResources.put, + privateEndpointConnectionResourcesPut, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op privateEndpointConnectionResourcesDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + privateEndpointConnectionName: string, +): ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse; + +@@override(PrivateEndpointConnectionResources.delete, + privateEndpointConnectionResourcesDelete, + "java,go,python" +); + +// PrivateEndpointOperationStatuses operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op privateEndpointOperationStatusesGetOperationStatus( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + privateEndpointConnectionName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ArmResponse; + +@@override(PrivateEndpointOperationStatuses.getOperationStatus, + privateEndpointOperationStatusesGetOperationStatus, + "java,go,python" +); + +// ProtectedItemOperationResults operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectedItemOperationResultsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ProtectedItemResource; + +@@override(ProtectedItemOperationResults.get, + protectedItemOperationResultsGet, + "java,go,python" +); + +// ProtectedItemOperationStatuses operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectedItemOperationStatusesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ArmResponse; + +@@override(ProtectedItemOperationStatuses.get, + protectedItemOperationStatusesGet, + "java,go,python" +); + +// ProtectedItems operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectedItemsCreateOrUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: ProtectedItemResource, +): ProtectedItemResource; + +@@override(ProtectedItems.createOrUpdate, + protectedItemsCreateOrUpdate, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectedItemsDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, +): ArmDeletedResponse | ArmDeletedNoContentResponse; + +@@override(ProtectedItems.delete, protectedItemsDelete, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectedItemsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, +): ProtectedItemResource; + +@@override(ProtectedItems.get, protectedItemsGet, "java,go,python"); + +// ProtectionContainerOperationResults operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionContainerOperationResultsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ProtectionContainerResource; + +@@override(ProtectionContainerOperationResults.get, + protectionContainerOperationResultsGet, + "java,go,python" +); + +// ProtectionContainers operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionContainersRegister( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: ProtectionContainerResource, +): ProtectionContainerResource; + +@@override(ProtectionContainers.register, + protectionContainersRegister, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionContainersGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, +): ProtectionContainerResource; + +@@override(ProtectionContainers.get, protectionContainersGet, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionContainersInquire( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + $filter?: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: void, +): void; + +@@override(ProtectionContainers.inquire, + protectionContainersInquire, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionContainersUnregister( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, +): void; + +@@override(ProtectionContainers.unregister, + protectionContainersUnregister, + "java,go,python" +); + +// ProtectionIntentResources operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionIntentResourcesCreateOrUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + intentObjectName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: ProtectionIntentResource, +): ProtectionIntentResource; + +@@override(ProtectionIntentResources.createOrUpdate, + protectionIntentResourcesCreateOrUpdate, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionIntentResourcesDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + intentObjectName: string, +): ArmDeletedNoContentResponse; + +@@override(ProtectionIntentResources.delete, + protectionIntentResourcesDelete, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionIntentResourcesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + intentObjectName: string, +): ProtectionIntentResource; + +@@override(ProtectionIntentResources.get, + protectionIntentResourcesGet, + "java,go,python" +); + +// ProtectionPolicies operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionPoliciesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + policyName: string, +): ProtectionPolicyResource; + +@@override(ProtectionPolicies.get, protectionPoliciesGet, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionPoliciesCreateOrUpdate( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: ProtectionPolicyResource, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + #suppress "@azure-tools/typespec-azure-core/casing-style" "override" + `x-ms-authorization-auxiliary`?: string, +): ArmResourceUpdatedResponse; + +@@override(ProtectionPolicies.createOrUpdate, + protectionPoliciesCreateOrUpdate, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionPoliciesDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + policyName: string, +): ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse; + +@@override(ProtectionPolicies.delete, + protectionPoliciesDelete, + "java,go,python" +); + +// ProtectionPolicyOperationResults operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionPolicyOperationResultsGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ProtectionPolicyResource; + +@@override(ProtectionPolicyOperationResults.get, + protectionPolicyOperationResultsGet, + "java,go,python" +); + +// ResourceGuardProxies operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op resourceGuardProxiesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, +): ArmResponse; + +@@override(ResourceGuardProxies.get, resourceGuardProxiesGet, "java,go,python"); + +// ResourceGuardProxy operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op resourceGuardProxyDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resourceGuardProxyName: string, +): ArmDeletedNoContentResponse; + +@@override(ResourceGuardProxy.delete, + resourceGuardProxyDelete, + "java,go,python" +); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op resourceGuardProxyGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resourceGuardProxyName: string, +): ResourceGuardProxyBaseResource; + +@@override(ResourceGuardProxy.get, resourceGuardProxyGet, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op resourceGuardProxyPut( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resourceGuardProxyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resource: ResourceGuardProxyBaseResource, +): ResourceGuardProxyBaseResource; + +@@override(ResourceGuardProxy.put, resourceGuardProxyPut, "java,go,python"); + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op resourceGuardProxyUnlockDelete( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + resourceGuardProxyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: UnlockDeleteRequest, +): UnlockDeleteResponse; + +@@override(ResourceGuardProxy.unlockDelete, + resourceGuardProxyUnlockDelete, + "java,go,python" +); + +// Restores operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op restoresTrigger( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + body: RestoreRequestResource, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + #suppress "@azure-tools/typespec-azure-core/casing-style" "override" + `x-ms-authorization-auxiliary`?: string, +): ArmAcceptedLroResponse; + +@@override(Restores.trigger, restoresTrigger, "java,go,python"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml index df7076f6f0ed..0b556d3a9259 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/tspconfig.yaml @@ -38,8 +38,8 @@ options: name: "@azure/arm-recoveryservicesbackup" "@azure-tools/typespec-go": service-dir: "sdk/resourcemanager/recoveryservices" - package-dir: "armrecoveryservicesbackup" - module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + emitter-output-dir: "{output-dir}/{service-dir}/armrecoveryservicesbackup" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armrecoveryservicesbackup" fix-const-stuttering: true flavor: "azure" generate-samples: true From a68b823f62627b7f91a1967e1689d02a48ae2eb3 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 19 Sep 2025 17:27:25 +0800 Subject: [PATCH 30/40] update --- .../BackupResourceConfigResource.tsp | 5 ++--- .../BackupResourceVaultConfigResource.tsp | 2 -- .../ProtectionContainerResource.tsp | 2 -- .../ProtectionPolicyResource.tsp | 2 -- .../RecoveryServices.Management/client.tsp | 10 +++++----- .../RecoveryServices.Management/routes.tsp | 3 --- 6 files changed, 7 insertions(+), 17 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index d240877c76b6..b221c38f858a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -1,13 +1,11 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** @@ -28,7 +26,8 @@ model BackupResourceConfigResource extends Resource { Resource = BackupResourceConfigResource, KeyName = "backupstorageconfig", SegmentName = "backupstorageconfig", - NamePattern = "" + NamePattern = "", + Type = "vaultstorageconfig" >; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index b14f2e2695ad..efa4482ac2e4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -1,13 +1,11 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index ef9afd7d77a2..6b87c4fb7310 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -1,13 +1,11 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index 7087d32c1fc4..d6cda2ec46e2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -1,13 +1,11 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; import "@typespec/rest"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; /** diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 3e616815144e..c5b7b497d549 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -584,7 +584,7 @@ op backupResourceStorageConfigsNonCRRGet( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: string, + backupstorageconfig: "vaultstorageconfig", ): BackupResourceConfigResource; @@override(BackupResourceStorageConfigsNonCRR.get, @@ -604,7 +604,7 @@ op backupResourceStorageConfigsNonCRRPatch( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: string, + backupstorageconfig: "vaultstorageconfig", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" properties: BackupResourceConfigResource, ): ArmNoContentResponse; @@ -626,7 +626,7 @@ op backupResourceStorageConfigsNonCRRUpdate( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: string, + backupstorageconfig: "vaultstorageconfig", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: BackupResourceConfigResource, ): ArmResourceUpdatedResponse; @@ -648,7 +648,7 @@ op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: string, + backupstorageconfig: "vaultstorageconfig", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: PrepareDataMoveRequest, ): ArmAcceptedLroResponse; @@ -670,7 +670,7 @@ op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: string, + backupstorageconfig: "vaultstorageconfig", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: TriggerDataMoveRequest, ): ArmAcceptedLroResponse; diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp index daa4f0d4a1bf..42d3775aa0ba 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/routes.tsp @@ -4,12 +4,10 @@ import "@azure-tools/typespec-azure-core"; import "@typespec/rest"; import "./models.tsp"; import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; -using TypeSpec.OpenAPI; namespace Microsoft.RecoveryServices; @@ -608,7 +606,6 @@ interface SecurityPINs { /** * Get the security PIN. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN") @post get( From c7778df263e117485b1bef6046a2666e98eb634d Mon Sep 17 00:00:00 2001 From: tadelesh Date: Fri, 19 Sep 2025 17:37:20 +0800 Subject: [PATCH 31/40] update --- .../BackupResourceConfigResource.tsp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index b221c38f858a..b8bbea451094 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -22,13 +22,18 @@ namespace Microsoft.RecoveryServices; @Azure.ResourceManager.Legacy.customAzureResource @Http.Private.includeInapplicableMetadataInPayload(false) model BackupResourceConfigResource extends Resource { - ...ResourceNameParameter< - Resource = BackupResourceConfigResource, - KeyName = "backupstorageconfig", - SegmentName = "backupstorageconfig", - NamePattern = "", - Type = "vaultstorageconfig" - >; + /** + * The name of the BackupResourceConfigResource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @Azure.ResourceManager.Private.defaultResourceKeySegmentName( + Resource, + "backupstorageconfig", + "backupstorageconfig" + ) + @path + name: "vaultstorageconfig"; /** * BackupResourceConfigResource properties From e810a1fd7e418e0f3e773ff9200abdd5b59295df Mon Sep 17 00:00:00 2001 From: tadelesh Date: Mon, 22 Sep 2025 18:27:12 +0800 Subject: [PATCH 32/40] update --- .../BackupEngineBaseResource.tsp | 19 +- .../BackupResourceConfigResource.tsp | 37 +- ...sourceEncryptionConfigExtendedResource.tsp | 43 +- .../BackupResourceVaultConfigResource.tsp | 19 +- .../JobResource.tsp | 16 +- .../PrivateEndpointConnectionResource.tsp | 19 +- .../ProtectedItemResource.tsp | 17 +- .../ProtectionContainerResource.tsp | 19 +- .../ProtectionIntentResource.tsp | 19 +- .../ProtectionPolicyResource.tsp | 19 +- .../RecoveryPointResource.tsp | 17 +- .../ResourceGuardProxyBaseResource.tsp | 20 +- .../RecoveryServices.Management/client.tsp | 60 ++- .../RecoveryServices.Management/models.tsp | 77 ++-- .../stable/2025-02-01/bms.json | 414 +++++++++++++++--- 15 files changed, 551 insertions(+), 264 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp index b93e39d61ebc..44be7da1adf1 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupEngineBaseResource.tsp @@ -5,22 +5,16 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * The base backup engine class. All workload specific backup engines derive from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(BackupEngineBase) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model BackupEngineBaseResource extends Resource { +model BackupEngineBaseResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = BackupEngineBaseResource, KeyName = "backupEngineName", @@ -29,10 +23,10 @@ model BackupEngineBaseResource extends Resource { >; /** - * BackupEngineBaseResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: BackupEngineBase; + eTag?: string; } @armResourceOperations @@ -81,3 +75,6 @@ interface BackupEngines { } @@doc(BackupEngineBaseResource.name, "Name of the backup management server."); +@@doc(BackupEngineBaseResource.properties, + "BackupEngineBaseResource properties" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp index b8bbea451094..689ac73683b5 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceConfigResource.tsp @@ -5,41 +5,29 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * The resource storage details. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("vaultstorageconfig") @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(BackupResourceConfig) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model BackupResourceConfigResource extends Resource { - /** - * The name of the BackupResourceConfigResource. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @Azure.ResourceManager.Private.defaultResourceKeySegmentName( - Resource, - "backupstorageconfig", - "backupstorageconfig" - ) - @path - name: "vaultstorageconfig"; +model BackupResourceConfigResource + is TrackedResourceWithOptionalLocation { + ...ResourceNameParameter< + Resource = BackupResourceConfigResource, + KeyName = "backupstorageconfig", + SegmentName = "backupstorageconfig", + NamePattern = "" + >; /** - * BackupResourceConfigResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: BackupResourceConfig; + eTag?: string; } #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@ -175,6 +163,9 @@ interface BackupResourceConfigOperationStatuses { } @@doc(BackupResourceConfigResource.name, ""); +@@doc(BackupResourceConfigResource.properties, + "BackupResourceConfigResource properties" +); @@doc(BackupResourceStorageConfigsNonCRR.update::parameters.resource, "Vault storage config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp index 6725244d84e6..74eeccd2750e 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceEncryptionConfigExtendedResource.tsp @@ -5,24 +5,17 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal( - BackupResourceEncryptionConfigExtended -) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model BackupResourceEncryptionConfigExtendedResource extends Resource { +@doc("") +model BackupResourceEncryptionConfigExtendedResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = BackupResourceEncryptionConfigExtendedResource, KeyName = "backupEncryptionConfig", @@ -31,26 +24,18 @@ model BackupResourceEncryptionConfigExtendedResource extends Resource { >; /** - * BackupResourceEncryptionConfigExtendedResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: BackupResourceEncryptionConfigExtended; + eTag?: string; } -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("backupResourceEncryptionConfig") @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal( - BackupResourceEncryptionConfig -) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model BackupResourceEncryptionConfigResource extends Resource { +@doc("") +model BackupResourceEncryptionConfigResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = BackupResourceEncryptionConfigResource, KeyName = "backupEncryptionConfig", @@ -59,10 +44,10 @@ model BackupResourceEncryptionConfigResource extends Resource { >; /** - * BackupResourceEncryptionConfigResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: BackupResourceEncryptionConfig; + eTag?: string; } #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@ -86,8 +71,14 @@ interface BackupResourceEncryptionConfigs { } @@doc(BackupResourceEncryptionConfigExtendedResource.name, ""); +@@doc(BackupResourceEncryptionConfigExtendedResource.properties, + "BackupResourceEncryptionConfigExtendedResource properties" +); @@doc(BackupResourceEncryptionConfigs.update::parameters.resource, "Vault encryption input config request" ); @@doc(BackupResourceEncryptionConfigResource.name, ""); +@@doc(BackupResourceEncryptionConfigResource.properties, + "BackupResourceEncryptionConfigResource properties" +); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp index efa4482ac2e4..bcdd656f8bc3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/BackupResourceVaultConfigResource.tsp @@ -5,23 +5,17 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Backup resource vault config details. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @singleton("vaultconfig") @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(BackupResourceVaultConfig) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model BackupResourceVaultConfigResource extends Resource { +model BackupResourceVaultConfigResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = BackupResourceVaultConfigResource, KeyName = "backupconfig", @@ -30,10 +24,10 @@ model BackupResourceVaultConfigResource extends Resource { >; /** - * BackupResourceVaultConfigResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: BackupResourceVaultConfig; + eTag?: string; } #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@ -76,6 +70,9 @@ interface BackupResourceVaultConfigs { } @@doc(BackupResourceVaultConfigResource.name, ""); +@@doc(BackupResourceVaultConfigResource.properties, + "BackupResourceVaultConfigResource properties" +); @@doc(BackupResourceVaultConfigs.put::parameters.resource, "resource config request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp index 7146dab17c93..dba3315312f3 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/JobResource.tsp @@ -5,22 +5,15 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Defines workload agnostic properties for a job. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(Job) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model JobResource extends Resource { +model JobResource is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = JobResource, KeyName = "jobName", @@ -29,10 +22,10 @@ model JobResource extends Resource { >; /** - * JobResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: Job; + eTag?: string; } @armResourceOperations @@ -163,3 +156,4 @@ interface ExportJobsOperationResults { } @@doc(JobResource.name, "Name of the job whose details are to be fetched."); +@@doc(JobResource.properties, "JobResource properties"); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp index eb2bfcc4f7c4..a01451337304 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/PrivateEndpointConnectionResource.tsp @@ -5,22 +5,16 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Private Endpoint Connection Response Properties */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(PrivateEndpointConnection) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model PrivateEndpointConnectionResource extends Resource { +model PrivateEndpointConnectionResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = PrivateEndpointConnectionResource, KeyName = "privateEndpointConnectionName", @@ -29,10 +23,10 @@ model PrivateEndpointConnectionResource extends Resource { >; /** - * PrivateEndpointConnectionResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: PrivateEndpointConnection; + eTag?: string; } @armResourceOperations @@ -103,6 +97,9 @@ interface PrivateEndpointOperationStatuses { @@doc(PrivateEndpointConnectionResource.name, "The name of the private endpoint connection." ); +@@doc(PrivateEndpointConnectionResource.properties, + "PrivateEndpointConnectionResource properties" +); @@doc(PrivateEndpointConnectionResources.put::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp index f80d4a6c8000..1fc9ef0f0cee 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectedItemResource.tsp @@ -6,6 +6,7 @@ import "./ProtectionContainerResource.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; @@ -13,16 +14,9 @@ namespace Microsoft.RecoveryServices; * Base class for backup items. */ #suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(ProtectionContainerResource) -@Azure.ResourceManager.Private.armResourceInternal(ProtectedItem) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model ProtectedItemResource extends Resource { +model ProtectedItemResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = ProtectedItemResource, KeyName = "protectedItemName", @@ -31,10 +25,10 @@ model ProtectedItemResource extends Resource { >; /** - * ProtectedItemResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: ProtectedItem; + eTag?: string; } @armResourceOperations @@ -213,6 +207,7 @@ interface ProtectedItemOperationResults { @@doc(ProtectedItemResource.name, "Backed up item name whose details are to be fetched." ); +@@doc(ProtectedItemResource.properties, "ProtectedItemResource properties"); @@doc(ProtectedItems.createOrUpdate::parameters.resource, "resource backed up item" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp index 6b87c4fb7310..8306e0401cc9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionContainerResource.tsp @@ -5,22 +5,16 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Base class for container with backup items. Containers with specific workloads are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(BackupFabricResource) -@Azure.ResourceManager.Private.armResourceInternal(ProtectionContainer) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model ProtectionContainerResource extends Resource { +model ProtectionContainerResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = ProtectionContainerResource, KeyName = "containerName", @@ -29,10 +23,10 @@ model ProtectionContainerResource extends Resource { >; /** - * ProtectionContainerResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: ProtectionContainer; + eTag?: string; } @armResourceOperations @@ -158,6 +152,9 @@ interface ProtectionContainerOperationResults { @@doc(ProtectionContainerResource.name, "Name of the container whose details need to be fetched." ); +@@doc(ProtectionContainerResource.properties, + "ProtectionContainerResource properties" +); @@doc(ProtectionContainers.register::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp index f03ba931759b..816e8f918968 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionIntentResource.tsp @@ -5,21 +5,15 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; namespace Microsoft.RecoveryServices; /** * Base class for backup ProtectionIntent. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(BackupFabricResource) -@Azure.ResourceManager.Private.armResourceInternal(ProtectionIntent) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model ProtectionIntentResource extends Resource { +model ProtectionIntentResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = ProtectionIntentResource, KeyName = "intentObjectName", @@ -28,10 +22,10 @@ model ProtectionIntentResource extends Resource { >; /** - * ProtectionIntentResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: ProtectionIntent; + eTag?: string; } @armResourceOperations @@ -64,6 +58,9 @@ interface ProtectionIntentResources { @@doc(ProtectionIntentResource.name, "Backed up item name whose details are to be fetched." ); +@@doc(ProtectionIntentResource.properties, + "ProtectionIntentResource properties" +); @@doc(ProtectionIntentResources.createOrUpdate::parameters.resource, "resource backed up item" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp index d6cda2ec46e2..bba439b577fd 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ProtectionPolicyResource.tsp @@ -5,22 +5,16 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Base class for backup policy. Workload-specific backup policies are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(ProtectionPolicy) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model ProtectionPolicyResource extends Resource { +model ProtectionPolicyResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = ProtectionPolicyResource, KeyName = "policyName", @@ -29,10 +23,10 @@ model ProtectionPolicyResource extends Resource { >; /** - * ProtectionPolicyResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: ProtectionPolicy; + eTag?: string; } @armResourceOperations @@ -168,6 +162,9 @@ interface ProtectionPolicyOperationStatuses { @@doc(ProtectionPolicyResource.name, "Backup policy information to be fetched." ); +@@doc(ProtectionPolicyResource.properties, + "ProtectionPolicyResource properties" +); @@doc(ProtectionPolicies.createOrUpdate::parameters.resource, "resource backup policy" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp index cdfb781af833..9968893551e4 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/RecoveryPointResource.tsp @@ -6,23 +6,17 @@ import "./ProtectedItemResource.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; using TypeSpec.Http; namespace Microsoft.RecoveryServices; /** * Base class for backup copies. Workload-specific backup copies are derived from this class. */ -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(ProtectedItemResource) -@Azure.ResourceManager.Private.armResourceInternal(RecoveryPoint) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model RecoveryPointResource extends Resource { +model RecoveryPointResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = RecoveryPointResource, KeyName = "recoveryPointId", @@ -31,10 +25,10 @@ model RecoveryPointResource extends Resource { >; /** - * RecoveryPointResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: RecoveryPoint; + eTag?: string; } @armResourceOperations @@ -127,6 +121,7 @@ interface ItemLevelRecoveryConnections { @@doc(RecoveryPointResource.name, "RecoveryPointID represents the backed up data to be fetched." ); +@@doc(RecoveryPointResource.properties, "RecoveryPointResource properties"); @@doc(RecoveryPoints.moveRecoveryPoint::parameters.body, "Move Resource Across Tiers Request" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp index ebfb414a8c0e..30615e373787 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/ResourceGuardProxyBaseResource.tsp @@ -5,20 +5,15 @@ import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; +using Azure.ResourceManager.Legacy; namespace Microsoft.RecoveryServices; -#suppress "@azure-tools/typespec-azure-core/no-private-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@doc("") @parentResource(VaultResource) -@Azure.ResourceManager.Private.armResourceInternal(ResourceGuardProxyBase) -@Azure.ResourceManager.Legacy.customAzureResource -@Http.Private.includeInapplicableMetadataInPayload(false) -model ResourceGuardProxyBaseResource extends Resource { +model ResourceGuardProxyBaseResource + is TrackedResourceWithOptionalLocation { ...ResourceNameParameter< Resource = ResourceGuardProxyBaseResource, KeyName = "resourceGuardProxyName", @@ -27,10 +22,10 @@ model ResourceGuardProxyBaseResource extends Resource { >; /** - * ResourceGuardProxyBaseResource properties + * Optional ETag. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - properties?: ResourceGuardProxyBase; + eTag?: string; } @armResourceOperations @@ -78,6 +73,9 @@ interface ResourceGuardProxies { } @@doc(ResourceGuardProxyBaseResource.name, ""); +@@doc(ResourceGuardProxyBaseResource.properties, + "ResourceGuardProxyBaseResource properties" +); @@doc(ResourceGuardProxy.put::parameters.resource, "Request body for operation" ); diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index c5b7b497d549..02572ee8f9e2 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -314,7 +314,55 @@ using Azure.ResourceManager; ); // ETag property mapping to preserve backward compatibility -@@clientName(Microsoft.RecoveryServices.Resource.eTag, "etag", "java"); +@@clientName(Microsoft.RecoveryServices.BackupEngineBaseResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.BackupResourceConfigResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.BackupResourceEncryptionConfigExtendedResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.BackupResourceEncryptionConfigResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.BackupResourceVaultConfigResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.JobResource.eTag, "etag", "java"); +@@clientName(Microsoft.RecoveryServices.PrivateEndpointConnectionResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.ProtectedItemResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.ProtectionContainerResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.ProtectionIntentResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.ProtectionPolicyResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.RecoveryPointResource.eTag, + "etag", + "java" +); +@@clientName(Microsoft.RecoveryServices.ResourceGuardProxyBaseResource.eTag, + "etag", + "java" +); // UTC/PIN/VM abbreviation fixes for backward compatibility @@clientName(Microsoft.RecoveryServices.TokenInformation.securityPIN, @@ -584,7 +632,7 @@ op backupResourceStorageConfigsNonCRRGet( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: "vaultstorageconfig", + backupstorageconfig: string, ): BackupResourceConfigResource; @@override(BackupResourceStorageConfigsNonCRR.get, @@ -604,7 +652,7 @@ op backupResourceStorageConfigsNonCRRPatch( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: "vaultstorageconfig", + backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" properties: BackupResourceConfigResource, ): ArmNoContentResponse; @@ -626,7 +674,7 @@ op backupResourceStorageConfigsNonCRRUpdate( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: "vaultstorageconfig", + backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: BackupResourceConfigResource, ): ArmResourceUpdatedResponse; @@ -648,7 +696,7 @@ op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: "vaultstorageconfig", + backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: PrepareDataMoveRequest, ): ArmAcceptedLroResponse; @@ -670,7 +718,7 @@ op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( vaultName: string, ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - backupstorageconfig: "vaultstorageconfig", + backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: TriggerDataMoveRequest, ): ArmAcceptedLroResponse; diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp index 3e841cc6e69d..436dbc56bb01 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/models.tsp @@ -1304,50 +1304,6 @@ model BackupResourceConfig { xcoolState?: XcoolState; } -/** - * ARM Resource. - */ -model Resource { - /** - * Resource Id represents the complete path to the resource. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - id?: string; - - /** - * Resource name associated with the resource. - */ - @visibility(Lifecycle.Read) - name?: string; - - /** - * Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - type?: string; - - /** - * Resource location. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - location?: string; - - /** - * Resource tags. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - tags?: Record; - - /** - * Optional ETag. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - eTag?: string; -} - /** * Contract to validate if backup can be enabled on the given resource in a given vault and given configuration. * It will validate followings @@ -2198,11 +2154,34 @@ model RecoveryPoint { objectType: string; } +alias ResourceProperties = { + /** + * Resource location. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + location?: string; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * Optional ETag. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + eTag?: string; +}; + /** * Base class for restore request. Workload-specific restore requests are derived from this class. */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model RestoreRequestResource extends Resource { + ...ResourceProperties; + /** * RestoreRequestResource properties */ @@ -2587,6 +2566,8 @@ model ProtectableContainerResourceList extends ResourceList { */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProtectableContainerResource extends Resource { + ...ResourceProperties; + /** * ProtectableContainerResource properties */ @@ -2685,6 +2666,8 @@ model WorkloadItemResourceList extends ResourceList { */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadItemResource extends Resource { + ...ResourceProperties; + /** * WorkloadItemResource properties */ @@ -2728,6 +2711,8 @@ model WorkloadItem { */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model BackupRequestResource extends Resource { + ...ResourceProperties; + /** * BackupRequestResource properties */ @@ -2752,6 +2737,8 @@ model BackupRequest { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ILRRequestResource extends Resource { + ...ResourceProperties; + /** * ILRRequestResource properties */ @@ -2788,6 +2775,8 @@ model WorkloadProtectableItemResourceList extends ResourceList { */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model WorkloadProtectableItemResource extends Resource { + ...ResourceProperties; + /** * WorkloadProtectableItemResource properties */ diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json index 27a25d159738..8a0d56373dd7 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/bms.json @@ -7484,11 +7484,30 @@ "properties": { "$ref": "#/definitions/BackupEngineBase", "description": "BackupEngineBaseResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -7815,6 +7834,21 @@ "type": "object", "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/BackupRequest", "description": "BackupRequestResource properties" @@ -7822,7 +7856,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -7863,11 +7897,30 @@ "properties": { "$ref": "#/definitions/BackupResourceConfig", "description": "BackupResourceConfigResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -7914,29 +7967,69 @@ }, "BackupResourceEncryptionConfigExtendedResource": { "type": "object", + "description": "", "properties": { "properties": { "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", "description": "BackupResourceEncryptionConfigExtendedResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, "BackupResourceEncryptionConfigResource": { "type": "object", + "description": "", "properties": { "properties": { "$ref": "#/definitions/BackupResourceEncryptionConfig", "description": "BackupResourceEncryptionConfigResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -7989,11 +8082,30 @@ "properties": { "$ref": "#/definitions/BackupResourceVaultConfig", "description": "BackupResourceVaultConfigResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -9746,6 +9858,21 @@ "type": "object", "description": "Parameters to Provision ILR API.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/ILRRequest", "description": "ILRRequestResource properties" @@ -9753,7 +9880,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -10420,11 +10547,30 @@ "properties": { "$ref": "#/definitions/Job", "description": "JobResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -11735,11 +11881,30 @@ "properties": { "$ref": "#/definitions/PrivateEndpointConnection", "description": "PrivateEndpointConnectionResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -11827,6 +11992,21 @@ "type": "object", "description": "Protectable Container Class.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/ProtectableContainer", "description": "ProtectableContainerResource properties" @@ -11834,7 +12014,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12065,11 +12245,30 @@ "properties": { "$ref": "#/definitions/ProtectedItem", "description": "ProtectedItemResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12179,11 +12378,30 @@ "properties": { "$ref": "#/definitions/ProtectionContainer", "description": "ProtectionContainerResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12310,11 +12528,30 @@ "properties": { "$ref": "#/definitions/ProtectionIntent", "description": "ProtectionIntentResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12387,11 +12624,30 @@ "properties": { "$ref": "#/definitions/ProtectionPolicy", "description": "ProtectionPolicyResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12667,11 +12923,30 @@ "properties": { "$ref": "#/definitions/RecoveryPoint", "description": "RecoveryPointResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -12821,42 +13096,6 @@ ] } }, - "Resource": { - "type": "object", - "description": "ARM Resource.", - "properties": { - "id": { - "type": "string", - "description": "Resource Id represents the complete path to the resource.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Resource name associated with the resource.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", - "readOnly": true - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "tags": { - "type": "object", - "description": "Resource tags.", - "additionalProperties": { - "type": "string" - } - }, - "eTag": { - "type": "string", - "description": "Optional ETag." - } - } - }, "ResourceGuardOperationDetail": { "type": "object", "properties": { @@ -12894,15 +13133,35 @@ }, "ResourceGuardProxyBaseResource": { "type": "object", + "description": "", "properties": { "properties": { "$ref": "#/definitions/ResourceGuardProxyBase", "description": "ResourceGuardProxyBaseResource properties" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -13153,6 +13412,21 @@ "type": "object", "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/RestoreRequest", "description": "RestoreRequestResource properties" @@ -13160,7 +13434,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -14481,6 +14755,21 @@ "type": "object", "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/WorkloadItem", "description": "WorkloadItemResource properties" @@ -14488,7 +14777,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, @@ -14596,6 +14885,21 @@ "type": "object", "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, "properties": { "$ref": "#/definitions/WorkloadProtectableItem", "description": "WorkloadProtectableItemResource properties" @@ -14603,7 +14907,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" } ] }, From 58d94c40e4592f512b780ead894d444fb3256467 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 11:36:22 +0800 Subject: [PATCH 33/40] update --- .../RecoveryServices.Management/client.tsp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 02572ee8f9e2..b90864cf296a 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -1632,3 +1632,24 @@ op restoresTrigger( ): ArmAcceptedLroResponse; @@override(Restores.trigger, restoresTrigger, "java,go,python"); + +// ProtectionPolicyOperationStatuses operations +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "customization" +#suppress "@azure-tools/typespec-azure-core/documentation-required" "override" +op protectionPolicyOperationStatusesGet( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + operationId: string, +): ArmAcceptedLroResponse; + +@@override(ProtectionPolicyOperationStatuses.get, + protectionPolicyOperationStatusesGet, + "java,go,python" +); From bfc3028ec55d6590a78775bd4446ef580c667cce Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 12:01:43 +0800 Subject: [PATCH 34/40] update --- .../RecoveryServices.Management/client.tsp | 415 +++++++++++++++++- 1 file changed, 412 insertions(+), 3 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index b90864cf296a..90d23bb8d076 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -6,6 +6,7 @@ import "./main.tsp"; using Azure.ClientGenerator.Core; using Microsoft.RecoveryServices; using Azure.ResourceManager; +using Http; @@clientLocation(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, "Client", @@ -495,12 +496,20 @@ op bmsPrepareDataMoveOperationResultGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path backupStorageConfigName: "vaultstorageconfig", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): VaultStorageConfigOperationResultResponse; @@ -516,11 +525,17 @@ op backupEnginesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupEngineName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -535,8 +550,11 @@ op backupEnginesList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, @@ -553,8 +571,11 @@ op backupJobsList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, @@ -571,8 +592,11 @@ op backupPoliciesList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, @@ -587,10 +611,15 @@ op backupResourceEncryptionConfigsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupEncryptionConfig: string, ): BackupResourceEncryptionConfigExtendedResource; @@ -605,11 +634,17 @@ op backupResourceEncryptionConfigsUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupEncryptionConfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: BackupResourceEncryptionConfigResource, ): ArmResponse; @@ -626,12 +661,20 @@ op backupResourceEncryptionConfigsUpdate( op backupResourceStorageConfigsNonCRRGet( ...ApiVersionParameter, ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupstorageconfig: string, ): BackupResourceConfigResource; @@ -648,11 +691,17 @@ op backupResourceStorageConfigsNonCRRPatch( ...SubscriptionIdParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" properties: BackupResourceConfigResource, ): ArmNoContentResponse; @@ -670,11 +719,17 @@ op backupResourceStorageConfigsNonCRRUpdate( ...SubscriptionIdParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: BackupResourceConfigResource, ): ArmResourceUpdatedResponse; @@ -692,11 +747,17 @@ op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( ...SubscriptionIdParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: PrepareDataMoveRequest, ): ArmAcceptedLroResponse; @@ -714,11 +775,17 @@ op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( ...SubscriptionIdParameter, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" provider: "Microsoft.ThisWillBeReplaced", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupstorageconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: TriggerDataMoveRequest, ): ArmAcceptedLroResponse; @@ -735,10 +802,15 @@ op backupResourceVaultConfigsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupconfig: string, ): BackupResourceVaultConfigResource; @@ -753,11 +825,17 @@ op backupResourceVaultConfigsPut( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: BackupResourceVaultConfigResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -776,11 +854,17 @@ op backupResourceVaultConfigsUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupconfig: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" properties: BackupResourceVaultConfigResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -800,13 +884,23 @@ op backupWorkloadItemsList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -824,15 +918,28 @@ op backupsTrigger( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: BackupRequestResource, ): void; @@ -846,16 +953,30 @@ op recoveryPointsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path recoveryPointId: string, ): RecoveryPointResource; @@ -867,15 +988,28 @@ op recoveryPointsList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, ): ArmResponse; @@ -888,17 +1022,29 @@ op recoveryPointsMoveRecoveryPoint( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: MoveRPAcrossTiersRequest, ): ArmAcceptedLroResponse; @@ -915,15 +1061,25 @@ op recoveryPointsRecommendedForMoveList( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: ListRecoveryPointsRecommendedForMoveRequest, ): ArmResponse; @@ -940,12 +1096,19 @@ op backupResourceConfigOperationStatusesGetOperationStatus( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path backupStorageConfigName: "vaultstorageconfig", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ArmResponse; @@ -961,11 +1124,17 @@ op exportJobsOperationResultsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" backupJobs: "backupJobs", ): OperationResultInfoBaseResource; @@ -982,17 +1151,29 @@ op itemLevelRecoveryConnectionsProvision( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: ILRRequestResource, ): void; @@ -1008,17 +1189,29 @@ op itemLevelRecoveryConnectionsRevoke( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: void, ): void; @@ -1035,11 +1228,17 @@ op jobCancellationsTrigger( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path jobName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: void, ): void; @@ -1053,10 +1252,15 @@ op jobDetailsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path jobName: string, ): JobResource; @@ -1069,12 +1273,19 @@ op jobOperationResultsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path jobName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): JobResource; @@ -1087,10 +1298,15 @@ op privateEndpointConnectionResourcesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path privateEndpointConnectionName: string, ): Microsoft.RecoveryServices.PrivateEndpointConnectionResource; @@ -1105,11 +1321,17 @@ op privateEndpointConnectionResourcesPut( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path privateEndpointConnectionName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: Microsoft.RecoveryServices.PrivateEndpointConnectionResource, ): Microsoft.RecoveryServices.PrivateEndpointConnectionResource | ArmAcceptedLroResponse; @@ -1125,12 +1347,17 @@ op privateEndpointConnectionResourcesDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path privateEndpointConnectionName: string, -): ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse; +): ArmDeletedNoContentResponse; @@override(PrivateEndpointConnectionResources.delete, privateEndpointConnectionResourcesDelete, @@ -1144,12 +1371,19 @@ op privateEndpointOperationStatusesGetOperationStatus( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path privateEndpointConnectionName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ArmResponse; @@ -1165,16 +1399,27 @@ op protectedItemOperationResultsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ProtectedItemResource; @@ -1190,16 +1435,27 @@ op protectedItemOperationStatusesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ArmResponse; @@ -1215,15 +1471,25 @@ op protectedItemsCreateOrUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: ProtectedItemResource, ): ProtectedItemResource; @@ -1239,16 +1505,25 @@ op protectedItemsDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, -): ArmDeletedResponse | ArmDeletedNoContentResponse; +): ArmDeletedNoContentResponse; @@override(ProtectedItems.delete, protectedItemsDelete, "java,go,python"); @@ -1258,15 +1533,25 @@ op protectedItemsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, ): ProtectedItemResource; @@ -1280,14 +1565,23 @@ op protectionContainerOperationResultsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ProtectionContainerResource; @@ -1303,13 +1597,21 @@ op protectionContainersRegister( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: ProtectionContainerResource, ): ProtectionContainerResource; @@ -1325,12 +1627,19 @@ op protectionContainersGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, ): ProtectionContainerResource; @@ -1342,13 +1651,21 @@ op protectionContainersInquire( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" $filter?: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -1366,12 +1683,19 @@ op protectionContainersUnregister( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, ): void; @@ -1387,11 +1711,17 @@ op protectionIntentResourcesCreateOrUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" intentObjectName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -1409,11 +1739,17 @@ op protectionIntentResourcesDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" intentObjectName: string, ): ArmDeletedNoContentResponse; @@ -1429,11 +1765,17 @@ op protectionIntentResourcesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" intentObjectName: string, ): ProtectionIntentResource; @@ -1450,10 +1792,15 @@ op protectionPoliciesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path policyName: string, ): ProtectionPolicyResource; @@ -1465,11 +1812,17 @@ op protectionPoliciesCreateOrUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: ProtectionPolicyResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -1488,12 +1841,17 @@ op protectionPoliciesDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path policyName: string, -): ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse; +): ArmDeletedNoContentResponse; @@override(ProtectionPolicies.delete, protectionPoliciesDelete, @@ -1507,12 +1865,19 @@ op protectionPolicyOperationResultsGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ProtectionPolicyResource; @@ -1528,8 +1893,11 @@ op resourceGuardProxiesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, ): ArmResponse; @@ -1542,10 +1910,15 @@ op resourceGuardProxyDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path resourceGuardProxyName: string, ): ArmDeletedNoContentResponse; @@ -1560,10 +1933,15 @@ op resourceGuardProxyGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path resourceGuardProxyName: string, ): ResourceGuardProxyBaseResource; @@ -1575,11 +1953,17 @@ op resourceGuardProxyPut( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path resourceGuardProxyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: ResourceGuardProxyBaseResource, ): ResourceGuardProxyBaseResource; @@ -1592,11 +1976,17 @@ op resourceGuardProxyUnlockDelete( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path resourceGuardProxyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: UnlockDeleteRequest, ): UnlockDeleteResponse; @@ -1613,17 +2003,29 @@ op restoresTrigger( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path fabricName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path containerName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path recoveryPointId: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" body: RestoreRequestResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -1640,12 +2042,19 @@ op protectionPolicyOperationStatusesGet( ...ApiVersionParameter, ...SubscriptionIdParameter, ...Azure.ResourceManager.Legacy.Provider, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path vaultName: string, + ...ResourceGroupParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path policyName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path operationId: string, ): ArmAcceptedLroResponse; From 03a4aadd6888f0b6ffaa9480832f81030f77da3a Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 12:05:51 +0800 Subject: [PATCH 35/40] fix --- .../RecoveryServices.Management/client.tsp | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 90d23bb8d076..84ef11be2c6d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -505,7 +505,6 @@ op bmsPrepareDataMoveOperationResultGet( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path backupStorageConfigName: "vaultstorageconfig", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -668,7 +667,6 @@ op backupResourceStorageConfigsNonCRRGet( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path vaultName: string, ...ResourceGroupParameter, @@ -689,7 +687,9 @@ op backupResourceStorageConfigsNonCRRGet( op backupResourceStorageConfigsNonCRRPatch( ...ApiVersionParameter, ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path provider: "Microsoft.ThisWillBeReplaced", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -717,7 +717,9 @@ op backupResourceStorageConfigsNonCRRPatch( op backupResourceStorageConfigsNonCRRUpdate( ...ApiVersionParameter, ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path provider: "Microsoft.ThisWillBeReplaced", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -745,7 +747,9 @@ op backupResourceStorageConfigsNonCRRUpdate( op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( ...ApiVersionParameter, ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path provider: "Microsoft.ThisWillBeReplaced", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -773,7 +777,9 @@ op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( ...ApiVersionParameter, ...SubscriptionIdParameter, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + @path provider: "Microsoft.ThisWillBeReplaced", #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -893,12 +899,10 @@ op backupWorkloadItemsList( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path fabricName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path containerName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -927,17 +931,14 @@ op backupsTrigger( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path fabricName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path containerName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -962,17 +963,14 @@ op recoveryPointsGet( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path fabricName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path containerName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @@ -997,17 +995,14 @@ op recoveryPointsList( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path fabricName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path containerName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" @path - @path protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" From e309813cba7c360625c49c4e3d7a2c18c8856cec Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 13:06:59 +0800 Subject: [PATCH 36/40] fix --- .../RecoveryServices.Management/client.tsp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index 84ef11be2c6d..de94f5882d1d 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -1485,6 +1485,8 @@ op protectedItemsCreateOrUpdate( @path protectedItemName: string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" + `x-ms-authorization-auxiliary`?: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" resource: ProtectedItemResource, ): ProtectedItemResource; From d7a0edf118d2e82c50cfb2931486a802245ca285 Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 13:30:21 +0800 Subject: [PATCH 37/40] fix --- .../RecoveryServices.Management/client.tsp | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp index de94f5882d1d..648ca87fd2dc 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/client.tsp @@ -645,7 +645,7 @@ op backupResourceEncryptionConfigsUpdate( backupEncryptionConfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: BackupResourceEncryptionConfigResource, + parameters: BackupResourceEncryptionConfigResource, ): ArmResponse; @@override(BackupResourceEncryptionConfigs.update, @@ -703,7 +703,7 @@ op backupResourceStorageConfigsNonCRRPatch( backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - properties: BackupResourceConfigResource, + parameters: BackupResourceConfigResource, ): ArmNoContentResponse; @@override(BackupResourceStorageConfigsNonCRR.patch, @@ -733,7 +733,7 @@ op backupResourceStorageConfigsNonCRRUpdate( backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: BackupResourceConfigResource, + parameters: BackupResourceConfigResource, ): ArmResourceUpdatedResponse; @@override(BackupResourceStorageConfigsNonCRR.update, @@ -763,7 +763,7 @@ op backupResourceStorageConfigsNonCRRBmsPrepareDataMove( backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: PrepareDataMoveRequest, + parameters: PrepareDataMoveRequest, ): ArmAcceptedLroResponse; @@override(BackupResourceStorageConfigsNonCRR.bmsPrepareDataMove, @@ -793,7 +793,7 @@ op backupResourceStorageConfigsNonCRRBmsTriggerDataMove( backupstorageconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: TriggerDataMoveRequest, + parameters: TriggerDataMoveRequest, ): ArmAcceptedLroResponse; @@override(BackupResourceStorageConfigsNonCRR.bmsTriggerDataMove, @@ -843,7 +843,7 @@ op backupResourceVaultConfigsPut( backupconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: BackupResourceVaultConfigResource, + parameters: BackupResourceVaultConfigResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" #suppress "@azure-tools/typespec-azure-core/casing-style" "override" `x-ms-authorization-auxiliary`?: string, @@ -872,7 +872,7 @@ op backupResourceVaultConfigsUpdate( backupconfig: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - properties: BackupResourceVaultConfigResource, + parameters: BackupResourceVaultConfigResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" #suppress "@azure-tools/typespec-azure-core/casing-style" "override" `x-ms-authorization-auxiliary`?: string, @@ -942,7 +942,7 @@ op backupsTrigger( protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: BackupRequestResource, + parameters: BackupRequestResource, ): void; @@override(Backups.trigger, backupsTrigger, "java,go,python"); @@ -1041,7 +1041,7 @@ op recoveryPointsMoveRecoveryPoint( recoveryPointId: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: MoveRPAcrossTiersRequest, + parameters: MoveRPAcrossTiersRequest, ): ArmAcceptedLroResponse; @@override(RecoveryPoints.moveRecoveryPoint, @@ -1076,7 +1076,7 @@ op recoveryPointsRecommendedForMoveList( protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: ListRecoveryPointsRecommendedForMoveRequest, + parameters: ListRecoveryPointsRecommendedForMoveRequest, ): ArmResponse; @@override(RecoveryPointsRecommendedForMove.list, @@ -1170,7 +1170,7 @@ op itemLevelRecoveryConnectionsProvision( recoveryPointId: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: ILRRequestResource, + parameters: ILRRequestResource, ): void; @@override(ItemLevelRecoveryConnections.provision, @@ -1328,7 +1328,7 @@ op privateEndpointConnectionResourcesPut( privateEndpointConnectionName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: Microsoft.RecoveryServices.PrivateEndpointConnectionResource, + parameters: Microsoft.RecoveryServices.PrivateEndpointConnectionResource, ): Microsoft.RecoveryServices.PrivateEndpointConnectionResource | ArmAcceptedLroResponse; @@override(PrivateEndpointConnectionResources.put, @@ -1486,9 +1486,10 @@ op protectedItemsCreateOrUpdate( protectedItemName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - `x-ms-authorization-auxiliary`?: string, + parameters: ProtectedItemResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: ProtectedItemResource, + #suppress "@azure-tools/typespec-azure-core/casing-style" "override" + `x-ms-authorization-auxiliary`?: string, ): ProtectedItemResource; @@override(ProtectedItems.createOrUpdate, @@ -1610,7 +1611,7 @@ op protectionContainersRegister( containerName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: ProtectionContainerResource, + parameters: ProtectionContainerResource, ): ProtectionContainerResource; @@override(ProtectionContainers.register, @@ -1722,7 +1723,7 @@ op protectionIntentResourcesCreateOrUpdate( #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" intentObjectName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: ProtectionIntentResource, + parameters: ProtectionIntentResource, ): ProtectionIntentResource; @@override(ProtectionIntentResources.createOrUpdate, @@ -1821,7 +1822,7 @@ op protectionPoliciesCreateOrUpdate( policyName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: ProtectionPolicyResource, + parameters: ProtectionPolicyResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" #suppress "@azure-tools/typespec-azure-core/casing-style" "override" `x-ms-authorization-auxiliary`?: string, @@ -1962,7 +1963,7 @@ op resourceGuardProxyPut( resourceGuardProxyName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - resource: ResourceGuardProxyBaseResource, + parameters: ResourceGuardProxyBaseResource, ): ResourceGuardProxyBaseResource; @@override(ResourceGuardProxy.put, resourceGuardProxyPut, "java,go,python"); @@ -1985,7 +1986,7 @@ op resourceGuardProxyUnlockDelete( resourceGuardProxyName: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: UnlockDeleteRequest, + parameters: UnlockDeleteRequest, ): UnlockDeleteResponse; @@override(ResourceGuardProxy.unlockDelete, @@ -2024,7 +2025,7 @@ op restoresTrigger( recoveryPointId: string, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" - body: RestoreRequestResource, + parameters: RestoreRequestResource, #suppress "@azure-tools/typespec-azure-core/documentation-required" "override" #suppress "@azure-tools/typespec-azure-core/casing-style" "override" `x-ms-authorization-auxiliary`?: string, From 84c7f5a665722a213ede91dad9dfab4ba7ec6733 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" <80496810+v-jiaodi@users.noreply.github.com> Date: Tue, 23 Sep 2025 14:01:39 +0800 Subject: [PATCH 38/40] resolve js model duplicate --- .../RecoveryServices.Management/back-compatible.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp index a78ca151a13e..1080d5d845a9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/back-compatible.tsp @@ -353,5 +353,5 @@ using Microsoft.RecoveryServices; @@clientName(Azure.ResourceManager.CommonTypes.ErrorDetail, "ArmErrorDetail", - "python" + "python,javascript" ); From 4f34bb47f222f3f00c274ba7319b3b59f6e5682f Mon Sep 17 00:00:00 2001 From: tadelesh Date: Tue, 23 Sep 2025 16:23:23 +0800 Subject: [PATCH 39/40] Update ProtectionPolicies_Delete.json --- .../2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json | 8 +++++--- .../examples/AzureIaasVm/ProtectionPolicies_Delete.json | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json index bc4824af7657..34ef259de3e9 100644 --- a/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/RecoveryServices.Management/examples/2025-02-01/AzureIaasVm/ProtectionPolicies_Delete.json @@ -9,9 +9,11 @@ "responses": { "200": {}, "202": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Retry-After": 60 + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } }, "204": {} }, diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json index bc4824af7657..34ef259de3e9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2025-02-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -9,9 +9,11 @@ "responses": { "200": {}, "202": { - "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", - "Retry-After": 60 + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } }, "204": {} }, From bc90e7885ab90d5e254eaedeb498f752b3ed18e1 Mon Sep 17 00:00:00 2001 From: XiaofeiCao Date: Tue, 23 Sep 2025 16:47:41 +0800 Subject: [PATCH 40/40] fix cspell --- specification/recoveryservicesbackup/cspell.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/recoveryservicesbackup/cspell.yaml b/specification/recoveryservicesbackup/cspell.yaml index ea10d98a413c..a382f91b759e 100644 --- a/specification/recoveryservicesbackup/cspell.yaml +++ b/specification/recoveryservicesbackup/cspell.yaml @@ -22,6 +22,7 @@ words: - reregister - retriable - rgname + - securedVmosDiskEncryptionSetId - sqlag - sqldb - undelete @@ -35,4 +36,3 @@ overrides: **/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/**/bms.json words: - hanascaleoutcontainer -