From 7c015297ac55170ee2497a93369f64488a34e8d1 Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Mon, 5 Feb 2018 19:38:02 +0530 Subject: [PATCH 1/6] Adding new API version 2018-01-10 fixing swagger voilations --- .../2018-01-10/examples/Operations_List.json | 1225 ++ .../examples/RecoveryPoints_Get.json | 25 + ...oints_ListByReplicationProtectedItems.json | 37 + .../ReplicationAlertSettings_Create.json | 34 + .../ReplicationAlertSettings_Get.json | 25 + .../ReplicationAlertSettings_List.json | 28 + .../examples/ReplicationEvents_Get.json | 34 + .../examples/ReplicationEvents_List.json | 65 + .../ReplicationFabrics_CheckConsistency.json | 36 + .../examples/ReplicationFabrics_Create.json | 43 + .../examples/ReplicationFabrics_Delete.json | 15 + .../examples/ReplicationFabrics_Get.json | 34 + .../examples/ReplicationFabrics_List.json | 38 + .../ReplicationFabrics_MigrateToAad.json | 15 + .../examples/ReplicationFabrics_Purge.json | 15 + ...ReplicationFabrics_ReassociateGateway.json | 48 + .../ReplicationFabrics_RenewCertificate.json | 41 + .../examples/ReplicationJobs_Cancel.json | 59 + .../examples/ReplicationJobs_Export.json | 47 + .../examples/ReplicationJobs_Get.json | 61 + .../examples/ReplicationJobs_List.json | 79 + .../examples/ReplicationJobs_Restart.json | 57 + .../examples/ReplicationJobs_Resume.json | 80 + .../ReplicationLogicalNetworks_Get.json | 25 + ...icalNetworks_ListByReplicationFabrics.json | 39 + .../ReplicationNetworkMappings_Create.json | 44 + .../ReplicationNetworkMappings_Delete.json | 17 + .../ReplicationNetworkMappings_Get.json | 33 + .../ReplicationNetworkMappings_List.json | 34 + ...orkMappings_ListByReplicationNetworks.json | 36 + .../ReplicationNetworkMappings_Update.json | 44 + .../examples/ReplicationNetworks_Get.json | 25 + .../examples/ReplicationNetworks_List.json | 49 + ...tionNetworks_ListByReplicationFabrics.json | 50 + .../examples/ReplicationPolicies_Create.json | 33 + .../examples/ReplicationPolicies_Delete.json | 15 + .../examples/ReplicationPolicies_Get.json | 24 + .../examples/ReplicationPolicies_List.json | 27 + .../examples/ReplicationPolicies_Update.json | 33 + .../ReplicationProtectableItems_Get.json | 32 + ...ListByReplicationProtectionContainers.json | 53 + ...tionProtectedItems_ApplyRecoveryPoint.json | 68 + .../ReplicationProtectedItems_Create.json | 66 + .../ReplicationProtectedItems_Delete.json | 24 + ...licationProtectedItems_FailoverCommit.json | 59 + .../ReplicationProtectedItems_Get.json | 55 + .../ReplicationProtectedItems_List.json | 56 + ...ListByReplicationProtectionContainers.json | 58 + ...icationProtectedItems_PlannedFailover.json | 68 + .../ReplicationProtectedItems_Purge.json | 17 + ...ationProtectedItems_RepairReplication.json | 57 + .../ReplicationProtectedItems_Reprotect.json | 68 + ...eplicationProtectedItems_TestFailover.json | 66 + ...ionProtectedItems_TestFailoverCleanup.json | 65 + ...ationProtectedItems_UnplannedFailover.json | 69 + .../ReplicationProtectedItems_Update.json | 75 + ...nProtectedItems_UpdateMobilityService.json | 61 + ...ionProtectionContainerMappings_Create.json | 41 + ...ionProtectionContainerMappings_Delete.json | 22 + ...cationProtectionContainerMappings_Get.json | 32 + ...ationProtectionContainerMappings_List.json | 33 + ...ListByReplicationProtectionContainers.json | 35 + ...tionProtectionContainerMappings_Purge.json | 17 + ...eplicationProtectionContainers_Create.json | 38 + ...eplicationProtectionContainers_Delete.json | 16 + ...ionContainers_DiscoverProtectableItem.json | 36 + .../ReplicationProtectionContainers_Get.json | 27 + .../ReplicationProtectionContainers_List.json | 29 + ...onContainers_ListByReplicationFabrics.json | 30 + ...ProtectionContainers_SwitchProtection.json | 37 + .../ReplicationRecoveryPlans_Create.json | 81 + .../ReplicationRecoveryPlans_Delete.json | 15 + ...plicationRecoveryPlans_FailoverCommit.json | 81 + .../ReplicationRecoveryPlans_Get.json | 70 + .../ReplicationRecoveryPlans_List.json | 38 + ...licationRecoveryPlans_PlannedFailover.json | 92 + .../ReplicationRecoveryPlans_Reprotect.json | 81 + ...ReplicationRecoveryPlans_TestFailover.json | 89 + ...tionRecoveryPlans_TestFailoverCleanup.json | 86 + ...cationRecoveryPlans_UnplannedFailover.json | 93 + .../ReplicationRecoveryPlans_Update.json | 112 + ...ationRecoveryServicesProviders_Delete.json | 16 + ...licationRecoveryServicesProviders_Get.json | 33 + ...icationRecoveryServicesProviders_List.json | 35 + ...cesProviders_ListByReplicationFabrics.json | 36 + ...cationRecoveryServicesProviders_Purge.json | 16 + ...veryServicesProviders_RefreshProvider.json | 35 + ...nStorageClassificationMappings_Create.json | 30 + ...nStorageClassificationMappings_Delete.json | 17 + ...tionStorageClassificationMappings_Get.json | 23 + ...ionStorageClassificationMappings_List.json | 24 + ...stByReplicationStorageClassifications.json | 26 + ...ReplicationStorageClassifications_Get.json | 22 + ...eplicationStorageClassifications_List.json | 24 + ...ssifications_ListByReplicationFabrics.json | 25 + .../examples/ReplicationVaultHealth_Get.json | 39 + .../ReplicationVaultHealth_Refresh.json | 30 + .../examples/ReplicationvCenters_Create.json | 40 + .../examples/ReplicationvCenters_Delete.json | 16 + .../examples/ReplicationvCenters_Get.json | 29 + .../examples/ReplicationvCenters_List.json | 31 + ...tionvCenters_ListByReplicationFabrics.json | 32 + .../examples/ReplicationvCenters_Update.json | 36 + ...Sizes_ListByReplicationProtectedItems.json | 50 + .../stable/2018-01-10/service.json | 14555 ++++++++++++++++ 105 files changed, 20137 insertions(+) create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json create mode 100644 specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json new file mode 100644 index 000000000000..9a0a0d347543 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/Operations_List.json @@ -0,0 +1,1225 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Vault Token", + "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Register Service Container", + "description": "The Register Service Container operation can be used to register a container with Recovery Service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Operation Results", + "description": "The Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Containers", + "description": "The Get Containers operation can be used get the containers registered for a resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Unregister Service Container", + "description": "The UnRegister Container operation can be used to unregister a container." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/certificates/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Update Resource Certificate", + "description": "The Update Resource Certificate operation updates the resource/vault credential certificate." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Alerts Settings", + "operation": "Read Alerts Settings", + "description": "Read Any Alerts Settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Alerts Settings", + "operation": "Create or Update Alerts Settings", + "description": "Create or Update Any Alerts Settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Events", + "operation": "Read Events", + "description": "Read Any Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Networks", + "operation": "Read Networks", + "description": "Read Any Networks" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Read Network Mappings", + "description": "Read Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Create or Update Network Mappings", + "description": "Create or Update Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Delete Network Mappings", + "description": "Delete Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protectable Items", + "operation": "Read Protectable Items", + "description": "Read Any Protectable Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Read Protection Container Mappings", + "description": "Read Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Create or Update Protection Container Mappings", + "description": "Create or Update Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Remove Protection Container Mapping", + "description": "Remove Protection Container Mapping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Delete Protection Container Mappings", + "description": "Delete Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Replication Recovery Points", + "operation": "Read Replication Recovery Points", + "description": "Read Any Replication Recovery Points" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Read Protected Items", + "description": "Read Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Create or Update Protected Items", + "description": "Create or Update Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Delete Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Remove Protected Item", + "description": "Remove Protected Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Planned Failover", + "description": "Planned Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Failover", + "description": "Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Test Failover", + "description": "Test Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Test Failover Cleanup", + "description": "Test Failover Cleanup" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Failover Commit", + "description": "Failover Commit" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "ReProtect Protected Item", + "description": "ReProtect Protected Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Update Mobility Service", + "description": "Update Mobility Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Repair replication", + "description": "Repair replication" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Apply Recovery Point", + "description": "Apply Recovery Point" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Read Jobs", + "description": "Read Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Cancel Job", + "description": "Cancel Job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Restart job", + "description": "Restart job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Resume Job", + "description": "Resume Job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Read Protection Containers", + "description": "Read Any Protection Containers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Discover Protectable Item", + "description": "Discover Protectable Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Create or Update Protection Containers", + "description": "Create or Update Any Protection Containers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Remove Protection Container", + "description": "Remove Protection Container" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Switch Protection Container", + "description": "Switch Protection Container" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Read Policies", + "description": "Read Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Create or Update Policies", + "description": "Create or Update Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Delete Policies", + "description": "Delete Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Read Recovery Plans", + "description": "Read Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Create or Update Recovery Plans", + "description": "Create or Update Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Delete Recovery Plans", + "description": "Delete Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Planned Failover Recovery Plan", + "description": "Planned Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Failover Recovery Plan", + "description": "Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Test Failover Recovery Plan", + "description": "Test Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Test Failover Cleanup Recovery Plan", + "description": "Test Failover Cleanup Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Failover Commit Recovery Plan", + "description": "Failover Commit Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "ReProtect Recovery Plan", + "description": "ReProtect Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Read Recovery Services Providers", + "description": "Read Any Recovery Services Providers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Remove Recovery Services Provider", + "description": "Remove Recovery Services Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Delete Recovery Services Providers", + "description": "Delete Any Recovery Services Providers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Refresh Provider", + "description": "Refresh Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Read Fabrics", + "description": "Read Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Create or Update Fabrics", + "description": "Create or Update Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Remove Fabric", + "description": "Remove Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Checks Consistency of the Fabric", + "description": "Checks Consistency of the Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Delete Fabrics", + "description": "Delete Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Renew Certificate for Fabric", + "description": "Renew Certificate for Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Deploy Process Server Image", + "description": "Deploy Process Server Image" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Reassociate Gateway", + "description": "Reassociate Gateway" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classifications", + "operation": "Read Storage Classifications", + "description": "Read Any Storage Classifications" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Read Storage Classification Mappings", + "description": "Read Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Create or Update Storage Classification Mappings", + "description": "Create or Update Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Delete Storage Classification Mappings", + "description": "Delete Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/usages/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Vault Usages", + "operation": "Read Vault Usages", + "description": "Read Any Vault Usages" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Read Jobs", + "description": "Read Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Create or Update Jobs", + "description": "Create or Update Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Delete Jobs", + "description": "Delete Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/usages/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupEngines", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupStatus", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Create Vault", + "description": "Create Vault operation creates an Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Vault", + "description": "The Get Vault operation gets an object representing the Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Delete Vault", + "description": "The Delete Vault operation deletes the specified Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "locations/allocatedStamp", + "operation": "Get Allocated Stamp", + "description": "GetAllocatedStamp is internal operation used by service" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/locations/allocateStamp/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "locations/allocateStamp", + "operation": "Allocated Stamp Action", + "description": "AllocateStamp is internal operation used by service" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json new file mode 100644 index 000000000000..6154adf3d956 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3" + }, + "responses": { + "200": { + "body": { + "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json new file mode 100644 index 000000000000..de9c086ffda3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + }, + { + "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "properties": { + "recoveryPointTime": "2017-04-26T07:37:30.9722019Z", + "recoveryPointType": "CrashConsistent" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json new file mode 100644 index 000000000000..09b293323009 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Create.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "alertSettingName": "defaultAlertSetting", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "request": { + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json new file mode 100644 index 000000000000..42a4c1ec154b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "alertSettingName": "defaultAlertSetting", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json new file mode 100644 index 000000000000..0e72a749301a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationAlertSettings_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json new file mode 100644 index 000000000000..02ed22b93aa1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "properties": { + "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47", + "description": "Virtual machine health is OK", + "eventType": "VmHealth", + "affectedObjectFriendlyName": "vm1", + "severity": "OK", + "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatusEventDetails" + }, + "healthErrors": [] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json new file mode 100644 index 000000000000..6c55ad86e9cc --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814", + "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814", + "properties": { + "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089", + "description": "TestFailover - Failed", + "eventType": "JobStatus", + "affectedObjectFriendlyName": "vm1", + "severity": "Critical", + "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatusEventDetails" + }, + "healthErrors": [ + { + "errorCode": "499", + "errorMessage": "An internal error occurred.", + "possibleCauses": "The operation failed due to an internal error.", + "recommendedAction": "Retry the last action. If the issue persists, contact Support." + } + ] + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "properties": { + "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47", + "description": "Virtual machine health is OK", + "eventType": "VmHealth", + "affectedObjectFriendlyName": "vm1", + "severity": "OK", + "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatusEventDetails" + }, + "healthErrors": [] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json new file mode 100644 index 000000000000..71823b6186a1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_CheckConsistency.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json new file mode 100644 index 000000000000..c3bc2e02ba40 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Create.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "customDetails": { + "instanceType": "FabricSpecificCreationInput" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json new file mode 100644 index 000000000000..74c2f9916779 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json new file mode 100644 index 000000000000..f9dbe76527f9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json new file mode 100644 index 000000000000..47a132dddb28 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + ] + } + } + } +} + diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json new file mode 100644 index 000000000000..74c2f9916779 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_MigrateToAad.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json new file mode 100644 index 000000000000..74c2f9916779 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_Purge.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json new file mode 100644 index 000000000000..d904e7b5594f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_ReassociateGateway.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "fabricName": "GRACE-V2A-1", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "failoverProcessServerRequest": { + "properties": { + "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75", + "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117", + "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405", + "vmsToMigrate": [ + "Vm1", + "Vm2" + ], + "updateType": "ServerLevel" + } + } + }, + "responses": { + "200": { + "body": { + "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56", + "properties": { + "friendlyName": "GRACE-V2A-1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "VMware" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json new file mode 100644 index 000000000000..8d013e65e4fe --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationFabrics_RenewCertificate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "renewCertificate": { + "properties": { + "renewCertificateType": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json new file mode 100644 index 000000000000..c74409dbbbf2 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b", + "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b", + "properties": { + "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322", + "scenarioName": "PlannedFailover", + "friendlyName": "Planned failover", + "state": "Cancelling", + "stateDescription": "Cancelling", + "tasks": [], + "errors": [], + "startTime": "2017-05-03T06:16:06.3235186Z", + "allowedActions": [], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": { + "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "PrimaryVmName": "vm1", + "RecoveryVmId": "", + "RecoveryVmName": "vm1", + "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryCloudName": "cloud1", + "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478", + "RecoveryCloudName": "Microsoft Azure", + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "RecoveryVmmName": "Microsoft Azure", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + }, + "status": "Cancelling", + "error": { + "code": "538", + "message": "The job was canceled." + }, + "startTime": "2017-05-03T06:16:06.3235186Z" + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json new file mode 100644 index 000000000000..de6c59153d42 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "jobQueryParameter": { + "startTime": "2017-04-27T14:26:51.9161395Z", + "endTime": "2017-05-04T14:26:51.9161395Z", + "affectedObjectTypes": [], + "jobStatus": [] + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842", + "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842", + "properties": { + "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045", + "scenarioName": "ExportJobs", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-04T14:33:42.2765562Z", + "endTime": "2017-05-04T14:33:43Z", + "allowedActions": [], + "targetObjectId": "", + "targetObjectName": "", + "targetInstanceType": "Other", + "customDetails": { + "blobUri": "https://seapod01srs1pspk73202.blob.core.windows.net/datacontainer/Export_37e0fc2b-13f2-4817-aafa-0cd807d46842", + "sasToken": "?sv=2015-12-11&sr=c&si=mypolicy&sig=5Z1RyYLS8nT%2BBSdEpVOmqU8GFxkPGQFqYBoYEfj6OJQ%3D", + "instanceType": "ExportJobDetails", + "affectedObjectDetails": {} + } + }, + "status": "Succeeded", + "startTime": "2017-05-04T14:33:42.2765562Z", + "endTime": "2017-05-04T14:33:43Z" + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json new file mode 100644 index 000000000000..7ca1ef7ee8b1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897", + "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897", + "properties": { + "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b", + "scenarioName": "DeleteRecoveryPlan", + "friendlyName": "Delete a recovery plan", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [ + { + "taskId": "763326a2-01c9-4257-b2a1-0aac56465014", + "name": "DeleteRecoveryPlanTask", + "startTime": "2017-04-27T11:25:57.3029434Z", + "endTime": "2017-04-27T11:25:57.318574Z", + "allowedActions": [], + "friendlyName": "Delete a recovery plan task", + "state": "Succeeded", + "stateDescription": "Completed", + "taskType": "TaskDetails", + "customDetails": { + "instanceType": "TaskDetails" + }, + "errors": [] + } + ], + "errors": [], + "startTime": "2017-04-27T11:25:56.800358Z", + "endTime": "2017-04-27T11:25:57Z", + "allowedActions": [], + "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9", + "targetObjectName": "RPtest1", + "targetInstanceType": "RecoveryPlan", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": { + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + }, + "status": "Succeeded", + "startTime": "2017-04-27T11:25:56.800358Z", + "endTime": "2017-04-27T11:25:57Z" + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json new file mode 100644 index 000000000000..d9ade46a28cd --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b", + "name": "1557d73f-6244-491e-8f0b-d300f752240b", + "properties": { + "scenarioName": "AddProtectionProfile", + "friendlyName": "Create replication policy", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-04-27T12:46:04.641851Z", + "endTime": "2017-04-27T12:46:11Z", + "allowedActions": [], + "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "targetObjectName": "protectionprofile1", + "targetInstanceType": "ProtectionProfile" + }, + "status": "Succeeded", + "startTime": "2017-04-27T12:46:04.641851Z", + "endTime": "2017-04-27T12:46:11Z" + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb", + "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb", + "properties": { + "scenarioName": "RegisterDra", + "friendlyName": "Register the Azure Site Recovery Provider", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-02T14:07:19.2784338Z", + "endTime": "2017-05-02T14:07:21Z", + "allowedActions": [], + "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "targetInstanceType": "Server" + }, + "status": "Succeeded", + "startTime": "2017-05-02T14:07:19.2784338Z", + "endTime": "2017-05-02T14:07:21Z" + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1", + "name": "2438d560-80f0-420b-839e-5c8ee0af90a1", + "properties": { + "scenarioName": "CreateSite", + "friendlyName": "Create a site", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-02T05:56:14.569095Z", + "endTime": "2017-05-02T05:56:16Z", + "allowedActions": [], + "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "targetObjectName": "cloud1", + "targetInstanceType": "Server" + }, + "status": "Succeeded", + "startTime": "2017-05-02T05:56:14.569095Z", + "endTime": "2017-05-02T05:56:16Z" + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json new file mode 100644 index 000000000000..34b490410e0c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "jobName": "0664564c-353e-401a-ab0c-722257c10e25", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb", + "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb", + "properties": { + "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc", + "scenarioName": "RestartJob", + "friendlyName": "Restart job", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [ + { + "taskId": "RemediateWfTask", + "name": "RemediateTask", + "startTime": "2017-05-03T10:45:13.5677237Z", + "endTime": "2017-05-03T10:45:13.6458467Z", + "allowedActions": [], + "friendlyName": "Restarting job", + "state": "Succeeded", + "stateDescription": "Completed", + "taskType": "TaskDetails", + "customDetails": { + "instanceType": "TaskDetails" + }, + "errors": [] + } + ], + "errors": [], + "startTime": "2017-05-03T10:45:12.1320757Z", + "endTime": "2017-05-03T10:45:14Z", + "allowedActions": [], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": {} + } + }, + "status": "Succeeded", + "startTime": "2017-05-03T10:45:12.1320757Z", + "endTime": "2017-05-03T10:45:14Z" + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json new file mode 100644 index 000000000000..a095d5969bf9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "resumeJobParams": { + "properties": { + "comments": " " + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d", + "name": "58776d0b-3141-48b2-a377-9ad863eb160d", + "properties": { + "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56", + "scenarioName": "TestFailover", + "friendlyName": "Test failover", + "state": "Suspended", + "stateDescription": "WaitingForStopTestFailover", + "tasks": [], + "errors": [], + "startTime": "2017-04-25T09:57:57.0357829Z", + "allowedActions": [ + "Cancel", + "Resume" + ], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "TestFailoverJobDetails", + "testFailoverStatus": "Completed", + "comments": " ", + "networkName": "vnetavrai", + "networkFriendlyName": "vnetavrai", + "networkType": "VmNetworkAsInput", + "protectedItemDetails": [ + { + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "friendlyName": "vm1", + "testVmName": "vm1-test", + "testVmFriendlyName": "vm1-test", + "networkConnectionStatus": "Connected", + "networkFriendlyName": "vnetavrai", + "subnet": "Subnet1" + } + ], + "affectedObjectDetails": { + "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "PrimaryVmName": "vm1", + "RecoveryVmId": "", + "RecoveryVmName": "vm1", + "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryCloudName": "cloud1", + "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478", + "RecoveryCloudName": "Microsoft Azure", + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "RecoveryVmmName": "Microsoft Azure", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + }, + "status": "Suspended", + "startTime": "2017-04-25T09:57:57.0357829Z", + "endTime": "2017-04-25T09:59:12.0452175Z" + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json new file mode 100644 index 000000000000..a53c0749a1e6 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "name": "87ab394f-165f-4aa9-bd84-b018500b4509", + "properties": { + "friendlyName": "corp", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json new file mode 100644 index 000000000000..2e6a3aa7ca6f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "name": "87ab394f-165f-4aa9-bd84-b018500b4509", + "properties": { + "friendlyName": "corp", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509", + "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "properties": { + "friendlyName": "LN-VLANNetwork-4", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json new file mode 100644 index 000000000000..7d63512ed867 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Create.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap", + "input": { + "properties": { + "recoveryFabricName": "Microsoft Azure", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "fabricSpecificDetails": { + "instanceType": "VmmToAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json new file mode 100644 index 000000000000..b91fb410d946 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json new file mode 100644 index 000000000000..d43a1e30caf1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json new file mode 100644 index 000000000000..6a47ac5fbb67 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json new file mode 100644 index 000000000000..720c857d03bd --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json new file mode 100644 index 000000000000..5e699552557a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworkMappings_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap", + "input": { + "properties": { + "recoveryFabricName": "Microsoft Azure", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2", + "fabricSpecificDetails": { + "instanceType": "VmmToAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai2", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json new file mode 100644 index 000000000000..a627e6b726cb --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json new file mode 100644 index 000000000000..4bce79a6d8cd --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_NoIso", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "corp", + "networkType": "NoIsolation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json new file mode 100644 index 000000000000..3f34b5ffb8f5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationNetworks_ListByReplicationFabrics.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2018-01-10", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_NoIso", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "corp", + "networkType": "NoIsolation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json new file mode 100644 index 000000000000..749bbe6b5685 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Create.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "providerSpecificInput": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json new file mode 100644 index 000000000000..e841b2c466cc --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json new file mode 100644 index 000000000000..5ae77c2c6cc4 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json new file mode 100644 index 000000000000..17fb190d19c4 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json new file mode 100644 index 000000000000..407bf8a52898 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationPolicies_Update.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "replicationProviderSettings": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json new file mode 100644 index 000000000000..88cd8cf0ca40 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm2", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "HyperVVirtualMachine" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..ed2b9c2a8399 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm2", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "HyperVVirtualMachine" + } + } + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm1", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "HyperVVirtualMachine" + } + } + } + ], + "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2018-01-10&%24skipToken=ReplicationGroup%3aBegin" + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json new file mode 100644 index 000000000000..b6531af4cdb8 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "applyRecoveryPointInput": { + "properties": { + "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "UnplannedFailoverCommitPendingStatesBegin", + "protectionStateDescription": "Failover completed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Critical", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json new file mode 100644 index 000000000000..71bb31a9cf89 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json new file mode 100644 index 000000000000..a8c1b23e1944 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Delete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "disableProtectionInput": { + "properties": { + "replicationProviderInput": { + "instanceType": "DisableProtectionProviderSpecificInput" + } + } + } + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json new file mode 100644 index 000000000000..9f963abdc5e9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "PlannedFailoverStatesBegin", + "protectionStateDescription": "Planned failover committed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "DisableProtection", + "Failback" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } + } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json new file mode 100644 index 000000000000..dd516fd85f22 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json new file mode 100644 index 000000000000..c3e3bfc965c3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..ba45645c0db5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json new file mode 100644 index 000000000000..720290ba1e7f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "failoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "PlannedFailoverCommitRequired", + "protectionStateDescription": "Planned failover finished", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json new file mode 100644 index 000000000000..16c887d4880c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Purge.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json new file mode 100644 index 000000000000..73d25cf5cc9d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json new file mode 100644 index 000000000000..92514a4a0a41 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "rrInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json new file mode 100644 index 000000000000..2425ce00f010 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "failoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "networkType": "VmNetworkAsInput", + "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "skipTestFailoverCleanup": "false", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Cleanup test failover pending", + "activeLocation": "Primary", + "testFailoverState": "WaitingForCompletion", + "testFailoverStateDescription": "Waiting for user input", + "allowedOperations": [ + "TestFailoverCleanup" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "TestFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98", + "startTime": "2017-04-25T09:57:57.0357829Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json new file mode 100644 index 000000000000..0a27e8bc6ad8 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "cleanupInput": { + "properties": { + "comments": "Test Failover Cleanup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json new file mode 100644 index 000000000000..ec75652938a3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "failoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "sourceSiteOperations": "NotRequired", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "UnplannedFailoverCommitPendingStatesBegin", + "protectionStateDescription": "Failover completed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json new file mode 100644 index 000000000000..d5bbb989f478 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "updateProtectionInput": { + "properties": { + "recoveryAzureVMName": "vm1", + "recoveryAzureVMSize": "Basic_A0", + "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "vmNics": [ + { + "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=", + "recoveryVMSubnetName": "Subnet1", + "selectionType": "SelectedByUser" + } + ], + "licenseType": "WindowsServer", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json new file mode 100644 index 000000000000..16f71ba47b19 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicationProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e", + "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0", + "fabricName": "WIN-JKKJ31QI8U2", + "resourceName": "WCUSVault", + "resourceGroupName": "wcusValidations", + "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c", + "updateMobilityServiceRequest": { + "properties": { + "runAsAccountId": "2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "79dd20ab-2b40-11e7-9791-0050568f387e", + "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "MMR-LIN-V2A-3", + "protectedItemType": "", + "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e", + "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0", + "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "replicationHealthErrors": [], + "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew", + "policyFriendlyName": "MadhaviPolicyNew", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "InMageAzureV2" + }, + "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json new file mode 100644 index 000000000000..cf205dad4080 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Create.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "creationInput": { + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "PolicyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "providerSpecificInput": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json new file mode 100644 index 000000000000..c2619e182a1b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Delete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "removalInput": { + "properties": { + "providerSpecificInput": {} + } + } + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json new file mode 100644 index 000000000000..6ae7990cae43 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json new file mode 100644 index 000000000000..08922ab0723a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..821fe30caf0b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json new file mode 100644 index 000000000000..84350a519127 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainerMappings_Purge.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json new file mode 100644 index 000000000000..16edf4a5150a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Create.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "creationInput": { + "properties": { + "providerSpecificInput": [ + { + "instanceType": "ReplicationProviderSpecificContainerCreationInput" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json new file mode 100644 index 000000000000..d770870e8e2e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json new file mode 100644 index 000000000000..366ee0d91f9c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "fabricName": "V2A-W2K12-660", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "discoverProtectableItemRequest": { + "properties": { + "friendlyName": "Test", + "ipAddress": "10.150.2.3", + "osType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "V2A-W2K12-660", + "friendlyName": "V2A-W2K12-660", + "fabricType": "VMware", + "protectedItemCount": 2, + "pairingStatus": "Paired", + "role": "Primary" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json new file mode 100644 index 000000000000..b86b116262da --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json new file mode 100644 index 000000000000..8a86ca9c002f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json new file mode 100644 index 000000000000..4a8388db1deb --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json new file mode 100644 index 000000000000..410964935533 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectionContainers_SwitchProtection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "protectionContainerName": "CentralUSCancloud", + "fabricName": "CentralUSCanSite", + "resourceName": "priyanponeboxvault", + "resourceGroupName": "priyanprg", + "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b", + "switchInput": { + "properties": { + "replicationProtectedItemName": "a2aSwapOsVm", + "providerSpecificDetails": { + "instanceType": "A2A" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud", + "name": "euscancloud", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "East US 2 EUAP", + "friendlyName": "euscancloud", + "fabricType": "Azure", + "protectedItemCount": 0, + "pairingStatus": "Paired", + "role": "Primary" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json new file mode 100644 index 000000000000..e76737b870ef --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Create.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "recoveryFabricId": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "groups": [ + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json new file mode 100644 index 000000000000..1ab55bc98cd7 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json new file mode 100644 index 000000000000..f4dbbb281c14 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_FailoverCommit.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "CommitFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b", + "startTime": "2017-04-27T08:52:42.1587592Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json new file mode 100644 index 000000000000..98a2d57ab5ce --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Get.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json new file mode 100644 index 000000000000..2bf31c7d5996 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json new file mode 100644 index 000000000000..e6033946270f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_PlannedFailover.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover", + "Commit" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "PlannedFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350", + "startTime": "2017-04-27T07:34:02.6176524Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json new file mode 100644 index 000000000000..3bdffbb10379 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Reprotect.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "ReverseReplication", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0", + "startTime": "2017-04-27T09:52:16.9818841Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json new file mode 100644 index 000000000000..2f9202a0bf83 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailover.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "networkType": "VmNetworkAsInput", + "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "TestFailoverCleanup" + ], + "currentScenario": { + "scenarioName": "TestFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b", + "startTime": "2017-04-27T07:00:58.8191916Z" + }, + "currentScenarioStatus": "Suspended", + "currentScenarioStatusDescription": "WaitingForStopTestFailover", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json new file mode 100644 index 000000000000..55655b019f2d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "comments": "Test Failover Cleanup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "TestFailoverCleanup", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff", + "startTime": "2017-04-27T07:10:52.8424747Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json new file mode 100644 index 000000000000..be38a77acd84 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "sourceSiteOperations": "Required", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover", + "Commit" + ], + "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "UnplannedFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b", + "startTime": "2017-04-27T10:03:03.2206946Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json new file mode 100644 index 000000000000..f459cc6cea87 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryPlans_Update.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json new file mode 100644 index 000000000000..4954000a8b36 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json new file mode 100644 index 000000000000..8a2c5feb849e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:16:04.9405768Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json new file mode 100644 index 000000000000..a1b5117bf57a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:06:38.2728455Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json new file mode 100644 index 000000000000..cb9319f79158 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:06:38.2728455Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json new file mode 100644 index 000000000000..4954000a8b36 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_Purge.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json new file mode 100644 index 000000000000..ce1f0629f280 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:48:36.6528303Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json new file mode 100644 index 000000000000..38bae67d650c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "pairingInput": { + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json new file mode 100644 index 000000000000..ab824363846e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json new file mode 100644 index 000000000000..9f530c62ea76 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json new file mode 100644 index 000000000000..1c02bc7383f7 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json new file mode 100644 index 000000000000..799a7fc0036d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json new file mode 100644 index 000000000000..fac7b9b134b8 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json new file mode 100644 index 000000000000..aad8ae300e22 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json new file mode 100644 index 000000000000..07705abc9c1c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json new file mode 100644 index 000000000000..0724af543630 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default", + "properties": { + "vaultErrors": [], + "protectedItemsHealth": { + "resourceCount": 6, + "issues": [{ + "summaryCode": "10008", + "category": "Replication", + "severity": "Error", + "summaryMessage": "RPO Throttled", + "affectedResourceType": "replicationProtectedItems", + "affectedResourceSubtype": "", + "affectedResourceCorrelationIds": [ + "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "c183865e-6077-46f2-a3b1-ceb0a4c3751e" + ] + }] + }, + "fabricsHealth": { + "resourceCount": 1, + "issues": [] + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json new file mode 100644 index 000000000000..cc81a60ee9e2 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationVaultHealth_Refresh.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default", + "properties": { + "vaultErrors": [ ], + "protectedItemsHealth": { + "resourceCount": 2, + "issues": [ ] + }, + "fabricsHealth": { + "resourceCount": 1, + "issues": [ ] + } + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json new file mode 100644 index 000000000000..623c8d36fe9d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Create.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vCenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "addVCenterRequest": { + "properties": { + "friendlyName": "esx-78", + "ipAddress": "inmtest78", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "port": "443", + "runAsAccountId": "2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json new file mode 100644 index 000000000000..b55cfd915a0d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "vCenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "202": { + }, + "204": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json new file mode 100644 index 000000000000..b79e38005106 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vCenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json new file mode 100644 index 000000000000..8a70a9cf1426 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json new file mode 100644 index 000000000000..f3312a0e2880 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_ListByReplicationFabrics.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "fabricName": "MadhaviFabric", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json new file mode 100644 index 000000000000..9a4567ef28d0 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationvCenters_Update.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "vCenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2018-01-10", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "updateVCenterRequest": { + "properties": { + "ipAddress": "10.150.109.25" + } + } + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "10.150.109.25", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + }, + "202": { + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json new file mode 100644 index 000000000000..58a98bb1008b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2018-01-10", + "replicatedProtectedItemName": "468c912d-b1ab-4ea2-97eb-4b5095155db2", + "protectionContainerName": "asr-a2a-default-centraluseuap-container", + "fabricName": "asr-a2a-default-centraluseuap", + "resourceName": "avraiMgDiskVault", + "resourceGroupName": "avraiMgDiskVaultRG", + "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Basic_A0", + "name": "Basic_A0", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes", + "properties": { + "name": "Basic_A0", + "friendlyName": "Basic_A0", + "cpuCoresCount": 1, + "memoryInGB": 0.75, + "maxDataDiskCount": 1, + "maxNicsCount": 2, + "errors": null, + "highIopsSupported": "NotSupported" + } + }, + { + "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Standard_A0", + "name": "Standard_A0", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes", + "properties": { + "name": "Standard_A0", + "friendlyName": "Standard_A0", + "cpuCoresCount": 1, + "memoryInGB": 0.75, + "maxDataDiskCount": 1, + "maxNicsCount": 2, + "errors": null, + "highIopsSupported": "NotSupported" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json new file mode 100644 index 000000000000..bf730f52d989 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -0,0 +1,14555 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-01-10", + "title": "SiteRecoveryManagementClient", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Returns the list of available operations.", + "description": "Operation to return the list of available operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsDiscoveryCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the list of available operations.": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { + "get": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Gets the list of configured email notification(alert) configurations.", + "description": "Gets the list of email notification(alert) configurations for the vault.", + "operationId": "ReplicationAlertSettings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of configured email notification(alert) configurations.": { + "$ref": "./examples/ReplicationAlertSettings_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { + "get": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Gets an email notification(alert) configuration.", + "description": "Gets the details of the specified email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification configuration.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + } + }, + "x-ms-examples": { + "Gets an email notification(alert) configuration.": { + "$ref": "./examples/ReplicationAlertSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Configures email notifications for this vault.", + "description": "Create or update an email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification(alert) configuration.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "The input to configure the email notification(alert).", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigureAlertRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + } + }, + "x-ms-examples": { + "Configures email notifications for this vault.": { + "$ref": "./examples/ReplicationAlertSettings_Create.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { + "get": { + "tags": [ + "ReplicationEvents" + ], + "summary": "Gets the list of Azure Site Recovery events.", + "description": "Gets the list of Azure Site Recovery events for the vault.", + "operationId": "ReplicationEvents_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/EventQueryParameter", + "x-ms-examples": { + "Gets the list of Azure Site Recovery events.": { + "$ref": "./examples/ReplicationEvents_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": { + "get": { + "tags": [ + "ReplicationEvents" + ], + "summary": "Get the details of an Azure Site recovery event.", + "description": "The operation to get the details of an Azure Site recovery event.", + "operationId": "ReplicationEvents_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "eventName", + "in": "path", + "description": "The name of the Azure Site Recovery event.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Event" + } + } + }, + "x-ms-examples": { + "Get the details of an Azure Site recovery event.": { + "$ref": "./examples/ReplicationEvents_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "get": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Gets the list of ASR fabrics", + "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", + "operationId": "ReplicationFabrics_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FabricCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of ASR fabrics": { + "$ref": "./examples/ReplicationFabrics_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { + "get": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Gets the details of an ASR fabric.", + "description": "Gets the details of an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + } + }, + "x-ms-examples": { + "Gets the details of an ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Creates an Azure Site Recovery fabric.", + "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", + "operationId": "ReplicationFabrics_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the ASR fabric.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Fabric creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCreationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates an Azure Site Recovery fabric.": { + "$ref": "./examples/ReplicationFabrics_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Purges the site.", + "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Purge", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to purge.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges the site.": { + "$ref": "./examples/ReplicationFabrics_Purge.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Checks the consistency of the ASR fabric.", + "description": "The operation to perform a consistency check on the fabric.", + "operationId": "ReplicationFabrics_CheckConsistency", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Checks the consistency of the ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Migrates the site to AAD.", + "description": "The operation to migrate an Azure Site Recovery fabric to AAD.", + "operationId": "ReplicationFabrics_MigrateToAad", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to migrate.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Migrates the site to AAD.": { + "$ref": "./examples/ReplicationFabrics_MigrateToAad.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Perform failover of the process server.", + "description": "The operation to move replications from a process server to another process server.", + "operationId": "ReplicationFabrics_ReassociateGateway", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric containing the process server.", + "required": true, + "type": "string" + }, + { + "name": "failoverProcessServerRequest", + "in": "body", + "description": "The input to the failover process server operation.", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverProcessServerRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Perform failover of the process server.": { + "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Deletes the site.", + "description": "The operation to delete or remove an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to delete", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the site.": { + "$ref": "./examples/ReplicationFabrics_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Renews certificate for the fabric.", + "description": "Renews the connection certificate for the ASR replication fabric.", + "operationId": "ReplicationFabrics_RenewCertificate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "fabric name to renew certs for.", + "required": true, + "type": "string" + }, + { + "name": "renewCertificate", + "in": "body", + "description": "Renew certificate input.", + "required": true, + "schema": { + "$ref": "#/definitions/RenewCertificateInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Renews certificate for the fabric.": { + "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { + "get": { + "tags": [ + "ReplicationLogicalNetworks" + ], + "summary": "Gets the list of logical networks under a fabric.", + "description": "Lists all the logical networks of the Azure Site Recovery fabric", + "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicalNetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of logical networks under a fabric.": { + "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { + "get": { + "tags": [ + "ReplicationLogicalNetworks" + ], + "summary": "Gets a logical network with specified server id and logical network name.", + "description": "Gets the details of a logical network.", + "operationId": "ReplicationLogicalNetworks_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "logicalNetworkName", + "in": "path", + "description": "Logical network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicalNetwork" + } + } + }, + "x-ms-examples": { + "Gets a logical network with specified server id and logical network name.": { + "$ref": "./examples/ReplicationLogicalNetworks_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets the list of networks under a fabric.", + "description": "Lists the networks available for a fabric.", + "operationId": "ReplicationNetworks_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of networks under a fabric.": { + "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets a network with specified server id and network name.", + "description": "Gets the details of a network.", + "operationId": "ReplicationNetworks_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Network" + } + } + }, + "x-ms-examples": { + "Gets a network with specified server id and network name.": { + "$ref": "./examples/ReplicationNetworks_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a network.", + "description": "Lists all ASR network mappings for the specified network.", + "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all the network mappings under a network.": { + "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets network mapping by name.", + "description": "Gets the details of an ASR network mapping", + "operationId": "ReplicationNetworkMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + } + }, + "x-ms-examples": { + "Gets network mapping by name.": { + "$ref": "./examples/ReplicationNetworkMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Creates network mapping.", + "description": "The operation to create an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateNetworkMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Delete network mapping.", + "description": "The operation to delete a network mapping.", + "operationId": "ReplicationNetworkMappings_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "ARM Resource Name for network mapping.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Updates network mapping.", + "description": "The operation to update an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNetworkMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Update.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the list of protection container for a fabric.", + "description": "Lists the protection containers in the specified fabric.", + "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of protection container for a fabric.": { + "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the protection container details.", + "description": "Gets the details of a protection container.", + "operationId": "ReplicationProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + } + }, + "x-ms-examples": { + "Gets the protection container details.": { + "$ref": "./examples/ReplicationProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Create a protection container.", + "description": "Operation to create a protection container.", + "operationId": "ReplicationProtectionContainers_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric ARM name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", + "in": "body", + "description": "Creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionContainerInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Create.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Adds a protectable item to the replication protection container.", + "description": "The operation to a add a protectable item to a protection container(Add physical server.)", + "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the protection container.", + "required": true, + "type": "string" + }, + { + "name": "discoverProtectableItemRequest", + "in": "body", + "description": "The request object to add a protectable item.", + "required": true, + "schema": { + "$ref": "#/definitions/DiscoverProtectableItemRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Adds a protectable item to the replication protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Removes a protection container.", + "description": "Operation to remove a protection container.", + "operationId": "ReplicationProtectionContainers_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric ARM name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Removes a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "get": { + "tags": [ + "ReplicationProtectableItems" + ], + "summary": "Gets the list of protectable items.", + "description": "Lists the protectable items in a protection container.", + "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of protectable items.": { + "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { + "get": { + "tags": [ + "ReplicationProtectableItems" + ], + "summary": "Gets the details of a protectable item.", + "description": "The operation to get the details of a protectable item.", + "operationId": "ReplicationProtectableItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "protectableItemName", + "in": "path", + "description": "Protectable item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableItem" + } + } + }, + "x-ms-examples": { + "Gets the details of a protectable item.": { + "$ref": "./examples/ReplicationProtectableItems_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the list of Replication protected items.", + "description": "Gets the list of ASR replication protected items in the protection container.", + "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of Replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the details of a Replication protected item.", + "description": "Gets the details of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + } + }, + "x-ms-examples": { + "Gets the details of a Replication protected item.": { + "$ref": "./examples/ReplicationProtectedItems_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Enables protection.", + "description": "The operation to create an ASR replication protected item (Enable replication).", + "operationId": "ReplicationProtectedItems_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "A name for the replication protected item.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Enable Protection Input.", + "required": true, + "schema": { + "$ref": "#/definitions/EnableProtectionInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Enables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Purges protection.", + "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", + "operationId": "ReplicationProtectedItems_Purge", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges protection.": { + "$ref": "./examples/ReplicationProtectedItems_Purge.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Updates protection.", + "description": "The operation to update the recovery settings of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "updateProtectionInput", + "in": "body", + "description": "Update protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates protection.": { + "$ref": "./examples/ReplicationProtectedItems_Update.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Change or apply recovery point.", + "description": "The operation to change the recovery point of a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The ARM fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replicated protected item's name.", + "required": true, + "type": "string" + }, + { + "name": "applyRecoveryPointInput", + "in": "body", + "description": "The ApplyRecoveryPointInput.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplyRecoveryPointInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Change or apply recovery point.": { + "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute commit failover", + "description": "Operation to commit the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCommit", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute commit failover": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute planned failover", + "description": "Operation to initiate a planned failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_PlannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/PlannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute planned failover": { + "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "summary": "Get recovery points for a replication protected item.", + "description": "Lists the available recovery points for a replication protected item.", + "operationId": "RecoveryPoints_ListByReplicationProtectedItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item's name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get recovery points for a replication protected item.": { + "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "summary": "Get a recovery point.", + "description": "Get the details of specified recovery point.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item's name.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointName", + "in": "path", + "description": "The recovery point name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPoint" + } + } + }, + "x-ms-examples": { + "Get a recovery point.": { + "$ref": "./examples/RecoveryPoints_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Disables protection.", + "description": "The operation to disable replication on a replication protected item. This will also remove the item.", + "operationId": "ReplicationProtectedItems_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "disableProtectionInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/DisableProtectionInput" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Disables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Resynchronize or repair replication.", + "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", + "operationId": "ReplicationProtectedItems_RepairReplication", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The name of the replication protected item.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resynchronize or repair replication.": { + "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute Reverse Replication\\Reprotect", + "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_Reprotect", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "rrInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/ReverseReplicationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute Reverse Replication\\Reprotect": { + "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "get": { + "tags": [ + "TargetComputeSizes" + ], + "summary": "Gets the list of target compute sizes for the replication protected item.", + "description": "Lists the available target compute sizes for a replication protected item.", + "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TargetComputeSizeCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of target compute sizes for the replication protected item.": { + "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute test failover", + "description": "Operation to perform a test failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover": { + "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute test failover cleanup.", + "description": "Operation to clean up the test failover of a replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailoverCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "cleanupInput", + "in": "body", + "description": "Test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover cleanup.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute unplanned failover", + "description": "Operation to initiate a failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_UnplannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UnplannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute unplanned failover": { + "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Update the mobility service on a protected item.", + "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", + "operationId": "ReplicationProtectedItems_UpdateMobilityService", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "replicationProtectedItemName", + "in": "path", + "description": "The name of the protected item on which the agent is to be updated.", + "required": true, + "type": "string" + }, + { + "name": "updateMobilityServiceRequest", + "in": "body", + "description": "Request to update the mobility service on the protected item.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMobilityServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the mobility service on a protected item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets the list of protection container mappings for a protection container.", + "description": "Lists the protection container mappings for a protection container.", + "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of protection container mappings for a protection container.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets a protection container mapping/", + "description": "Gets the details of a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection Container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + } + }, + "x-ms-examples": { + "Gets a protection container mapping/": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Create protection container mapping.", + "description": "The operation to create a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", + "in": "body", + "description": "Mapping creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionContainerMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Purge protection container mapping.", + "description": "The operation to purge(force delete) a protection container mapping", + "operationId": "ReplicationProtectionContainerMappings_Purge", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purge protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "post": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Remove protection container mapping.", + "description": "The operation to delete or remove a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "removalInput", + "in": "body", + "description": "Removal input.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Remove protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Switches protection from one container to another or one replication provider to another.", + "description": "Operation to switch protection from one container to another or one replication provider to another.", + "operationId": "ReplicationProtectionContainers_SwitchProtection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "switchInput", + "in": "body", + "description": "Switch protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/SwitchProtectionInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Switches protection from one container to another or one replication provider to another.": { + "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the list of registered recovery services providers for the fabric.", + "description": "Lists the registered recovery services providers for the specified fabric.", + "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of registered recovery services providers for the fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the details of a recovery services provider.", + "description": "Gets the details of registered recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + } + }, + "x-ms-examples": { + "Gets the details of a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Purges recovery service provider from fabric", + "description": "The operation to purge(force delete) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Purge", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges recovery service provider from fabric": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { + "post": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Refresh details from the recovery services provider.", + "description": "The operation to refresh the information from the recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh details from the recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { + "post": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", + "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", + "operationId": "ReplicationRecoveryServicesProviders_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the list of storage classification objects under a fabric.", + "description": "Lists the storage classifications available in the specified fabric.", + "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Site name of interest.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification objects under a fabric.": { + "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the details of a storage classification.", + "description": "Gets the details of the specified storage classification.", + "operationId": "ReplicationStorageClassifications_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassification" + } + } + }, + "x-ms-examples": { + "Gets the details of a storage classification.": { + "$ref": "./examples/ReplicationStorageClassifications_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the list of storage classification mappings objects under a storage.", + "description": "Lists the storage classification mappings for the fabric.", + "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classfication name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification mappings objects under a storage.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the details of a storage classification mapping.", + "description": "Gets the details of the specified storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMapping" + } + } + }, + "x-ms-examples": { + "Gets the details of a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Create storage classification mapping.", + "description": "The operation to create a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + }, + { + "name": "pairingInput", + "in": "body", + "description": "Pairing input.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageClassificationMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Delete a storage classification mapping.", + "description": "The operation to delete a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the list of vCenter registered under a fabric.", + "description": "Lists the vCenter servers registered in a fabric.", + "operationId": "ReplicationvCenters_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vCenter registered under a fabric.": { + "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the details of a vCenter.", + "description": "Gets the details of a registered vCenter server(Add vCenter server.)", + "operationId": "ReplicationvCenters_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + } + }, + "x-ms-examples": { + "Gets the details of a vCenter.": { + "$ref": "./examples/ReplicationvCenters_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Add vCenter.", + "description": "The operation to create a vCenter object..", + "operationId": "ReplicationvCenters_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", + "required": true, + "type": "string" + }, + { + "name": "addVCenterRequest", + "in": "body", + "description": "The input to the add vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/AddVCenterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add vCenter.": { + "$ref": "./examples/ReplicationvCenters_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Remove vCenter operation.", + "description": "The operation to remove(unregister) a registered vCenter server from the vault.", + "operationId": "ReplicationvCenters_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Remove vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Update vCenter operation.", + "description": "The operation to update a registered vCenter.", + "operationId": "ReplicationvCenters_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCeneter name", + "required": true, + "type": "string" + }, + { + "name": "updateVCenterRequest", + "in": "body", + "description": "The input to the update vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateVCenterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Update.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { + "get": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Gets the list of jobs.", + "description": "Gets the list of Azure Site Recovery Jobs for the vault.", + "operationId": "ReplicationJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/JobQueryParameter", + "x-ms-examples": { + "Gets the list of jobs.": { + "$ref": "./examples/ReplicationJobs_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { + "get": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Gets the job details.", + "description": "Get the details of an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + } + }, + "x-ms-examples": { + "Gets the job details.": { + "$ref": "./examples/ReplicationJobs_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Cancels the specified job.", + "description": "The operation to cancel an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Cancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job indentifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Cancels the specified job.": { + "$ref": "./examples/ReplicationJobs_Cancel.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Restarts the specified job.", + "description": "The operation to restart an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Restart", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restarts the specified job.": { + "$ref": "./examples/ReplicationJobs_Restart.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Resumes the specified job.", + "description": "The operation to resume an Azure Site Recovery job", + "operationId": "ReplicationJobs_Resume", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + }, + { + "name": "resumeJobParams", + "in": "body", + "description": "Resume rob comments.", + "required": true, + "schema": { + "$ref": "#/definitions/ResumeJobParams" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resumes the specified job.": { + "$ref": "./examples/ReplicationJobs_Resume.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", + "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", + "operationId": "ReplicationJobs_Export", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobQueryParameter", + "in": "body", + "description": "job query filter.", + "required": true, + "schema": { + "$ref": "#/definitions/JobQueryParameter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Exports the details of the Azure Site Recovery jobs of the vault.": { + "$ref": "./examples/ReplicationJobs_Export.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a vault.", + "description": "Lists all ASR network mappings in the vault.", + "operationId": "ReplicationNetworkMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all the network mappings under a vault.": { + "$ref": "./examples/ReplicationNetworkMappings_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets the list of networks. View-only API.", + "description": "Lists the networks available in a vault", + "operationId": "ReplicationNetworks_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of networks. View-only API.": { + "$ref": "./examples/ReplicationNetworks_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the list of replication policies", + "description": "Lists the replication policies for a vault.", + "operationId": "ReplicationPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PolicyCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of replication policies": { + "$ref": "./examples/ReplicationPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the requested policy.", + "description": "Gets the details of a replication policy.", + "operationId": "ReplicationPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + } + }, + "x-ms-examples": { + "Gets the requested policy.": { + "$ref": "./examples/ReplicationPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Creates the policy.", + "description": "The operation to create a replication policy", + "operationId": "ReplicationPolicies_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create policy input", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates the policy.": { + "$ref": "./examples/ReplicationPolicies_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Delete the policy.", + "description": "The operation to delete a replication policy.", + "operationId": "ReplicationPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the policy.": { + "$ref": "./examples/ReplicationPolicies_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Updates the protection profile.", + "description": "The operation to update a replication policy.", + "operationId": "ReplicationPolicies_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Protection profile Id.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update Protection Profile Input", + "required": true, + "schema": { + "$ref": "#/definitions/UpdatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the protection profile.": { + "$ref": "./examples/ReplicationPolicies_Update.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the list of replication protected items.", + "description": "Gets the list of ASR replication protected items in the vault.", + "operationId": "ReplicationProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", + "x-ms-examples": { + "Gets the list of replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets the list of all protection container mappings in a vault.", + "description": "Lists the protection container mappings in the vault.", + "operationId": "ReplicationProtectionContainerMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection container mappings in a vault.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the list of all protection containers in a vault.", + "description": "Lists the protection containers in a vault.", + "operationId": "ReplicationProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection containers in a vault.": { + "$ref": "./examples/ReplicationProtectionContainers_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the list of recovery plans.", + "description": "Lists the recovery plans in the vault.", + "operationId": "ReplicationRecoveryPlans_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlanCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of recovery plans.": { + "$ref": "./examples/ReplicationRecoveryPlans_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the requested recovery plan.", + "description": "Gets the details of the recovery plan.", + "operationId": "ReplicationRecoveryPlans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Name of the recovery plan.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + } + }, + "x-ms-examples": { + "Gets the requested recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Creates a recovery plan with the given details.", + "description": "The operation to create a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery Plan creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a recovery plan with the given details.": { + "$ref": "./examples/ReplicationRecoveryPlans_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Deletes the specified recovery plan.", + "description": "Delete a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the specified recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Updates the given recovery plan.", + "description": "The operation to update a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update recovery plan input", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the given recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Update.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute commit failover of the recovery plan.", + "description": "The operation to commit the fail over of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute commit failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute planned failover of the recovery plan.", + "description": "The operation to start the planned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute planned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute reprotect of the recovery plan.", + "description": "The operation to reprotect(reverse replicate) a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Reprotect", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute reprotect of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover of the recovery plan.", + "description": "The operation to start the test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover cleanup of the recovery plan.", + "description": "The operation to cleanup test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover cleanup of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute unplanned failover of the recovery plan.", + "description": "The operation to start the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute unplanned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", + "description": "Lists the registered recovery services providers in the vault", + "operationId": "ReplicationRecoveryServicesProviders_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of registered recovery services providers in the vault. This is a view only api.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the list of storage classification mappings objects under a vault.", + "description": "Lists the storage classification mappings in the vault.", + "operationId": "ReplicationStorageClassificationMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification mappings objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the list of storage classification objects under a vault.", + "description": "Lists the storage classifications in the vault.", + "operationId": "ReplicationStorageClassifications_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassifications_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { + "get": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Gets the health summary for the vault.", + "description": "Gets the health details of the vault.", + "operationId": "ReplicationVaultHealth_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + } + }, + "x-ms-examples": { + "Gets the health summary for the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { + "post": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Refreshes health summary of the vault.", + "operationId": "ReplicationVaultHealth_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refreshes health summary of the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Refresh.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the list of vCenter registered under the vault.", + "description": "Lists the vCenter servers registered in the vault.", + "operationId": "ReplicationvCenters_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vCenter registered under the vault.": { + "$ref": "./examples/ReplicationvCenters_List.json" + } + } + } + } + }, + "definitions": { + "A2AApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2A provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AContainerCreationInput": { + "description": "A2A cloud creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AEnableProtectionInput": { + "description": "A2A enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AEventDetails": { + "description": "Model class for event details of a A2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item arm name.", + "type": "string" + }, + "fabricObjectId": { + "description": "The azure vm arm id.", + "type": "string" + }, + "fabricName": { + "description": "Fabric arm name.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "type": "string" + }, + "remoteFabricName": { + "description": "Remote fabric arm name.", + "type": "string" + }, + "remoteFabricLocation": { + "description": "Remote fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AFailoverProviderInput": { + "description": "A2A provider specific input for failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyCreationInput": { + "description": "A2A Policy creation input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyDetails": { + "description": "A2A specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectedDiskDetails": { + "description": "A2A protected disk details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery disk storage account.", + "type": "string" + }, + "primaryDiskAzureStorageAccountId": { + "description": "The primary disk storage account.", + "type": "string" + }, + "recoveryDiskUri": { + "description": "Recovery disk uri.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + } + } + }, + "A2AProtectedManagedDiskDetails": { + "description": "A2A protected managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The managed disk Arm id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery disk resource group Arm Id.", + "type": "string" + }, + "recoveryTargetDiskId": { + "description": "Recovery target disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskId": { + "description": "Recovery replica disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + } + } + }, + "A2ARecoveryPointDetails": { + "description": "A2A provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "recoveryPointSyncType": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "enum": [ + "MultiVmSyncRecoveryPoint", + "PerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointSyncType", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReplicationDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "type": "string" + }, + "managementId": { + "description": "The management Id.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedDiskDetails" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The recovery boot diagnostic storage account Arm Id.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + }, + "osType": { + "description": "The type of operating system.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The size of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureVMName": { + "description": "The name of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The recovery resource group.", + "type": "string" + }, + "recoveryCloudService": { + "description": "The recovery cloud service.", + "type": "string" + }, + "recoveryAvailabilitySet": { + "description": "The recovery availability set.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "The recovery virtual network.", + "type": "string" + }, + "vmNics": { + "description": "The virtual machine nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmSyncedConfigDetails": { + "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", + "description": "The synced configuration details." + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "isReplicationAgentUpdateRequired": { + "description": "A value indicating whether replication agent update is required.", + "type": "boolean" + }, + "recoveryFabricObjectId": { + "description": "The recovery fabric object Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "type": "string" + }, + "testFailoverRecoveryFabricObjectId": { + "description": "The test failover fabric object Id.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The last RPO value in seconds.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ASwitchProtectionInput": { + "description": "A2A specific switch protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryCloudServiceId": { + "description": "The target cloud service ARM Id (for V1).", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group ARM Id (for V2).", + "type": "string" + }, + "managedDiskUpdateDetails": { + "description": "Managed disk update details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AVmDiskInputDetails": { + "description": "Azure VM disk input details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery VHD storage account Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Id.", + "type": "string" + } + } + }, + "A2AVmManagedDiskInputDetails": { + "description": "Azure VM managed disk input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Arm Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + } + } + }, + "A2AVmManagedDiskUpdateDetails": { + "description": "Azure VM managed disk update input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type before failover.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type before failover.", + "type": "string" + } + } + }, + "AddVCenterRequest": { + "description": "Input required to add vCenter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddVCenterRequestProperties", + "description": "The properties of an add vCenter request." + } + } + }, + "AddVCenterRequestProperties": { + "description": "The properties of an add vCenter request.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the vCenter.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id from where the discovery is orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + } + } + }, + "Alert": { + "description": "Implements the Alert class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Alert related data." + } + } + }, + "AlertCollection": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The list of alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "AlertProperties": { + "description": "The proprties of an alert.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ApplyRecoveryPointInput": { + "description": "Input to apply recovery point.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ApplyRecoveryPointInputProperties", + "description": "The input properties to apply recovery point." + } + } + }, + "ApplyRecoveryPointInputProperties": { + "description": "Input properties to apply recovery point.", + "type": "object", + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", + "description": "Provider specific input for applying recovery point." + } + } + }, + "ApplyRecoveryPointProviderSpecificInput": { + "description": "Provider specific input for apply recovery point.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "AsrJobDetails": { + "description": "This class represents job details based on specific job type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "AsrJobDetails" + }, + "ASRTask": { + "description": "Task of the Job.", + "type": "object", + "properties": { + "taskId": { + "description": "The Id.", + "type": "string" + }, + "name": { + "description": "The unique Task name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The state/actions applicable on this task.", + "type": "array", + "items": { + "type": "string" + } + }, + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "state": { + "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "type": "string" + }, + "taskType": { + "description": "The type of task. Details in CustomDetails property depend on this type.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/TaskTypeDetails", + "description": "The custom task details based on the task type." + }, + "groupTaskCustomDetails": { + "$ref": "#/definitions/GroupTaskDetails", + "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." + }, + "errors": { + "description": "The task error details.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + } + } + }, + "AutomationRunbookTaskDetails": { + "description": "This class represents the task details for an automation runbook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The recovery plan task name.", + "type": "string" + }, + "cloudServiceName": { + "description": "The cloud service of the automation runbook account.", + "type": "string" + }, + "subscriptionId": { + "description": "The subscription Id of the automation runbook account.", + "type": "string" + }, + "accountName": { + "description": "The automation account name of the runbook.", + "type": "string" + }, + "runbookId": { + "description": "The runbook Id.", + "type": "string" + }, + "runbookName": { + "description": "The runbook name.", + "type": "string" + }, + "jobId": { + "description": "The job Id of the runbook execution.", + "type": "string" + }, + "jobOutput": { + "description": "The execution output of the runbook.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + }, + "AzureFabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "location": { + "description": "The Location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureFabricSpecificDetails": { + "description": "Azure Fabric Specific Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "location": { + "description": "The Location for the Azure fabric.", + "type": "string" + }, + "containerIds": { + "description": "The container Ids for the Azure fabric.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureUpdateNetworkMappingInput": { + "description": "Updates network mappings input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureVmSyncedConfigDetails": { + "description": "Azure to Azure VM synced configuration details.", + "type": "object", + "properties": { + "tags": { + "description": "The Azure VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "roleAssignments": { + "description": "The Azure role assignments.", + "type": "array", + "items": { + "$ref": "#/definitions/RoleAssignment" + } + }, + "inputEndpoints": { + "description": "The Azure VM input endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/InputEndpoint" + } + } + } + }, + "AzureVmDiskDetails": { + "description": "Disk details for E2A provider.", + "type": "object", + "properties": { + "vhdType": { + "description": "VHD type.", + "type": "string" + }, + "vhdId": { + "description": "The VHD id.", + "type": "string" + }, + "vhdName": { + "description": "VHD name.", + "type": "string" + }, + "maxSizeMB": { + "description": "Max side in MB.", + "type": "string" + }, + "targetDiskLocation": { + "description": "Blob uri of the Azure disk.", + "type": "string" + }, + "targetDiskName": { + "description": "The target Azure disk name.", + "type": "string" + }, + "lunId": { + "description": "Ordinal\\LunId of the disk for the Azure VM.", + "type": "string" + } + } + }, + "ComputeSizeErrorDetails": { + "description": "Represents the error used to indicate why the target compute size is not applicable.", + "type": "object", + "properties": { + "message": { + "description": "The error message.", + "type": "string" + }, + "severity": { + "description": "The severity of the error.", + "type": "string" + } + } + }, + "ConfigurationSettings": { + "description": "Replication provider specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "ConfigureAlertRequest": { + "description": "Request to configure alerts for the system.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigureAlertRequestProperties", + "description": "The properties of a configure alert request." + } + } + }, + "ConfigureAlertRequestProperties": { + "description": "Properties of a configure alert request.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ConsistencyCheckTaskDetails": { + "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmDetails": { + "description": "The list of inconsistent Vm details.", + "type": "array", + "items": { + "$ref": "#/definitions/InconsistentVmDetails" + } + } + }, + "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + }, + "CreateNetworkMappingInput": { + "description": "Create network mappings input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateNetworkMappingInputProperties", + "description": "Input properties for creating network mapping." + } + } + }, + "CreateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric Name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", + "description": "Fabric specific input properties." + } + } + }, + "CreatePolicyInput": { + "description": "Protection profile input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreatePolicyInputProperties", + "description": "Policy creation properties." + } + } + }, + "CreatePolicyInputProperties": { + "description": "Policy creation properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "CreateProtectionContainerInput": { + "description": "Create protection container input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerInputProperties", + "description": "Create protection container input properties." + } + } + }, + "CreateProtectionContainerInputProperties": { + "description": "Create protection container input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "description": "Provider specific inputs for container creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + } + } + }, + "CreateProtectionContainerMappingInput": { + "description": "Configure pairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "CreateProtectionContainerMappingInputProperties": { + "description": "Configure pairing input properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "The target unique protection container name.", + "type": "string" + }, + "policyId": { + "description": "Applicable policy.", + "type": "string" + }, + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput", + "description": "Provider specific input for pairing." + } + } + }, + "CreateRecoveryPlanInput": { + "description": "Create recovery plan input class.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties", + "description": "Recovery plan creation properties." + } + } + }, + "CreateRecoveryPlanInputProperties": { + "description": "Recovery plan creation properties.", + "required": [ + "primaryFabricId", + "recoveryFabricId", + "groups" + ], + "type": "object", + "properties": { + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ], + "type": "string", + "x-ms-enum": { + "name": "FailoverDeploymentModel", + "modelAsString": false + } + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + } + } + }, + "CurrentScenarioDetails": { + "description": "Current scenario details of the protected entity.", + "type": "object", + "properties": { + "scenarioName": { + "description": "Scenario name.", + "type": "string" + }, + "jobId": { + "description": "ARM Id of the job being executed.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the workflow.", + "type": "string" + } + } + }, + "DataStore": { + "description": "The datastore details of the MT.", + "type": "object", + "properties": { + "symbolicName": { + "description": "The symbolic name of data store.", + "type": "string" + }, + "uuid": { + "description": "The uuid of data store.", + "type": "string" + }, + "capacity": { + "description": "The capacity of data store in GBs.", + "type": "string" + }, + "freeSpace": { + "description": "The free space of data store in GBs.", + "type": "string" + }, + "type": { + "description": "The type of data store.", + "type": "string" + } + } + }, + "DisableProtectionInput": { + "description": "Disable protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DisableProtectionInputProperties", + "description": "Disable protection input properties." + } + } + }, + "DisableProtectionInputProperties": { + "description": "Disable protection input properties.", + "type": "object", + "properties": { + "disableProtectionReason": { + "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "enum": [ + "NotSpecified", + "MigrationComplete" + ], + "type": "string", + "x-ms-enum": { + "name": "DisableProtectionReason", + "modelAsString": false + } + }, + "replicationProviderInput": { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput", + "description": "Replication provider specific input." + } + } + }, + "DisableProtectionProviderSpecificInput": { + "description": "Disable protection provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "DiscoverProtectableItemRequest": { + "description": "Request to add a physical machine as a protectable item in a container.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DiscoverProtectableItemRequestProperties", + "description": "The properties of a discover protectable item request." + } + } + }, + "DiscoverProtectableItemRequestProperties": { + "description": "Discover protectable item properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the physical machine.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the physical machine to be discovered.", + "type": "string" + }, + "osType": { + "description": "The OS type on the physical machine.", + "type": "string" + } + } + }, + "DiskDetails": { + "description": "Onprem disk details data.", + "type": "object", + "properties": { + "maxSizeMB": { + "format": "int64", + "description": "The hard disk max size in MB.", + "type": "integer" + }, + "vhdType": { + "description": "The type of the volume.", + "type": "string" + }, + "vhdId": { + "description": "The VHD Id.", + "type": "string" + }, + "vhdName": { + "description": "The VHD name.", + "type": "string" + } + } + }, + "DiskVolumeDetails": { + "description": "Volume details.", + "type": "object", + "properties": { + "label": { + "description": "The volume label.", + "type": "string" + }, + "name": { + "description": "The volume name.", + "type": "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", + "type": "object", + "properties": { + "provider": { + "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", + "type": "string" + }, + "resource": { + "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", + "type": "string" + }, + "operation": { + "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'", + "type": "string" + }, + "description": { + "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", + "type": "string" + } + } + }, + "EnableProtectionInput": { + "description": "Enable protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnableProtectionInputProperties", + "description": "Enable protection input properties." + } + } + }, + "EnableProtectionInputProperties": { + "description": "Enable protection input properties.", + "type": "object", + "properties": { + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "protectableItemId": { + "description": "The protectable item Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "EnableProtectionProviderSpecificInput": { + "description": "Enable protection provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EncryptionDetails": { + "description": "Encryption details for the fabric.", + "type": "object", + "properties": { + "kekState": { + "description": "The key encryption key state for the Vmm.", + "type": "string" + }, + "kekCertThumbprint": { + "description": "The key encryption key certificate thumbprint.", + "type": "string" + }, + "kekCertExpiryDate": { + "format": "date-time", + "description": "The key encryption key certificate expiry date.", + "type": "string" + } + } + }, + "Event": { + "description": "Implements the Event class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventProperties", + "description": "Event related data." + } + } + }, + "EventCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "EventProperties": { + "description": "The properties of a monitoring event.", + "type": "object", + "properties": { + "eventCode": { + "description": "The Id of the monitoring event.", + "type": "string" + }, + "description": { + "description": "The event name.", + "type": "string" + }, + "eventType": { + "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", + "type": "string" + }, + "severity": { + "description": "The severity of the event.", + "type": "string" + }, + "timeOfOccurrence": { + "format": "date-time", + "description": "The time of occurence of the event.", + "type": "string" + }, + "fabricId": { + "description": "The ARM ID of the fabric.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EventProviderSpecificDetails", + "description": "The provider specific settings." + }, + "eventSpecificDetails": { + "$ref": "#/definitions/EventSpecificDetails", + "description": "The event specific settings." + }, + "healthErrors": { + "description": "The list of errors / warnings capturing details associated with the issue(s).", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "EventProviderSpecificDetails": { + "description": "Model class for provider specific details for an event.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "EventQueryParameter": { + "description": "Implements the event query parameter.", + "type": "object", + "properties": { + "eventCode": { + "description": "The source id of the events to be queried.", + "type": "string" + }, + "severity": { + "description": "The severity of the events to be queried.", + "type": "string" + }, + "eventType": { + "description": "The type of the events to be queried.", + "type": "string" + }, + "fabricName": { + "description": "The affected object server id of the events to be queried.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The affected object name of the events to be queried.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time of the time range within which the events are to be queried.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time of the time range within which the events are to be queried.", + "type": "string" + } + } + }, + "EventSpecificDetails": { + "description": "Model class for event specific details for an event.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "ExportJobDetails": { + "description": "This class represents details for export jobs workflow.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "blobUri": { + "description": "BlobUri of the exported jobs.", + "type": "string" + }, + "sasToken": { + "description": "The sas token to access blob.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobDetails" + }, + "Fabric": { + "description": "Fabric definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FabricProperties", + "description": "Fabric related data." + } + } + }, + "FabricCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The fabric details.", + "type": "array", + "items": { + "$ref": "#/definitions/Fabric" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "FabricCreationInput": { + "description": "Site details provided during the time of site creation", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FabricCreationInputProperties", + "description": "Fabric creation input." + } + } + }, + "FabricCreationInputProperties": { + "description": "Properties of site details provided during the time of site creation", + "type": "object", + "properties": { + "customDetails": { + "$ref": "#/definitions/FabricSpecificCreationInput", + "description": "Fabric provider specific creation input." + } + } + }, + "FabricProperties": { + "description": "Fabric properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the fabric.", + "type": "string" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Encryption details for the fabric." + }, + "rolloverEncryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Rollover encryption details for the fabric." + }, + "internalIdentifier": { + "description": "Dra Registration Id.", + "type": "string" + }, + "bcdrState": { + "description": "BCDR state of the fabric.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/FabricSpecificDetails", + "description": "Fabric specific settings." + }, + "healthErrorDetails": { + "description": "Fabric health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "health": { + "description": "Health of fabric.", + "type": "string" + } + } + }, + "FabricReplicationGroupTaskDetails": { + "description": "This class represents the fabric replication group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." + } + }, + "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + }, + "FabricSpecificCreateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificDetails": { + "description": "Fabric specific details.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificUpdateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FailoverJobDetails": { + "description": "This class represents the details for a failover job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } + } + }, + "x-ms-discriminator-value": "FailoverJobDetails" + }, + "FailoverProcessServerRequest": { + "description": "Request to failover a process server.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FailoverProcessServerRequestProperties", + "description": "The properties of the PS Failover request." + } + } + }, + "FailoverProcessServerRequestProperties": { + "description": "The properties of the Failover Process Server request.", + "type": "object", + "properties": { + "containerName": { + "description": "The container identifier.", + "type": "string" + }, + "sourceProcessServerId": { + "description": "The source process server.", + "type": "string" + }, + "targetProcessServerId": { + "description": "The new process server.", + "type": "string" + }, + "vmsToMigrate": { + "description": "The VMS to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "updateType": { + "description": "A value for failover type. It can be systemlevel/serverlevel", + "type": "string" + } + } + }, + "FailoverReplicationProtectedItemDetails": { + "description": "Failover details for a replication protected item.", + "type": "object", + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name.", + "type": "string" + }, + "testVmName": { + "description": "The test Vm name.", + "type": "string" + }, + "testVmFriendlyName": { + "description": "The test Vm friendly name.", + "type": "string" + }, + "networkConnectionStatus": { + "description": "The network connection status.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The network friendly name.", + "type": "string" + }, + "subnet": { + "description": "The network subnet.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" + } + } + }, + "GroupTaskDetails": { + "description": "This class represents the group task details when parent child relationship exists in the drill down.", + "type": "object", + "properties": { + "instanceType": { + "description": "The type of task details.", + "type": "string" + }, + "childTasks": { + "description": "The child tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } + } + }, + "discriminator": "instanceType" + }, + "HealthError": { + "description": "Health Error", + "type": "object", + "properties": { + "innerHealthErrors": { + "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerHealthError" + } + }, + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + } + } + }, + "HealthErrorSummary": { + "description": "class to define the summary of the health error details.", + "type": "object", + "properties": { + "summaryCode": { + "description": "The code of the health error.", + "type": "string" + }, + "category": { + "description": "The category of the health error.", + "enum": [ + "None", + "Replication", + "TestFailover", + "Configuration", + "FabricInfrastructure", + "VersionExpiry" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCategory", + "modelAsString": false + } + }, + "severity": { + "description": "Severity of error.", + "enum": [ + "NONE", + "Warning", + "Error", + "Info" + ], + "type": "string", + "x-ms-enum": { + "name": "Severity", + "modelAsString": false + } + }, + "summaryMessage": { + "description": "The summary message of the health error.", + "type": "string" + }, + "affectedResourceType": { + "description": "The type of affected ARM resource.", + "type": "string" + }, + "affectedResourceSubtype": { + "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", + "type": "string" + }, + "affectedResourceCorrelationIds": { + "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HyperVReplica2012EventDetails": { + "description": "Model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplica2012R2EventDetails": { + "description": "Model class for event details of a HyperVReplica blue E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaAzureApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "The primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary kek certificate pfx.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureEnableProtectionInput": { + "description": "Azure specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" + }, + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vhdId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure Vm Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The list of VHD IDs of disks to be protected.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureEventDetails": { + "description": "Model class for event details of a HyperVReplica E2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureFailbackProviderInput": { + "description": "HvrA provider specific input for failback.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "dataSyncOption": { + "description": "Data sync option.", + "type": "string" + }, + "recoveryVmCreationOption": { + "description": "ALR options to create alternate recovery.", + "type": "string" + }, + "providerIdForAlternateRecovery": { + "description": "Provider ID for alternate location", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "HyperVReplicaAzureFailoverProviderInput": { + "description": "HvrA provider specific input for failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyDetails": { + "description": "Hyper-V Replica Azure specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryDurationInHours": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "encryption": { + "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", + "type": "string" + }, + "activeStorageAccountId": { + "description": "The active storage account Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyInput": { + "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryDuration": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "storageAccounts": { + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReplicationDetails": { + "description": "Hyper V Replica Azure provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "azureVmDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVmName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "Last RPO value.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "encryption": { + "description": "The encryption info.", + "type": "string" + }, + "oSDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The operating system info." + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" + }, + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vHDId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { + "description": "HyperV replica Azure input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaBaseEventDetails": { + "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + }, + "HyperVReplicaBasePolicyDetails": { + "description": "Base class for HyperVReplica policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" + }, + "HyperVReplicaBaseReplicationDetails": { + "description": "Hyper V replica provider specific settings base class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + }, + "HyperVReplicaBluePolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBluePolicyInput": { + "description": "HyperV Replica Blue policy input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBlueReplicationDetails": { + "description": "HyperV replica 2012 R2 (Blue) replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaPolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaPolicyInput": { + "description": "Hyper-V Replica specific protection profile Input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaReplicationDetails": { + "description": "HyperV replica 2012 replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVSiteDetails": { + "description": "HyperVSite fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "HyperVSite" + }, + "HyperVVirtualMachineDetails": { + "description": "Single Host fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "sourceItemId": { + "description": "The source id of the object.", + "type": "string" + }, + "generation": { + "description": "The id of the object in fabric.", + "type": "string" + }, + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "HyperVVirtualMachine" + }, + "IdentityInformation": { + "description": "Identity details.", + "type": "object", + "properties": { + "identityProviderType": { + "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.", + "enum": [ + "RecoveryServicesActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityProviderType", + "modelAsString": false + } + }, + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", + "type": "string" + }, + "certificateThumbprint": { + "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.", + "type": "string" + } + } + }, + "InconsistentVmDetails": { + "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", + "type": "object", + "properties": { + "vmName": { + "description": "The Vm name.", + "type": "string" + }, + "cloudName": { + "description": "The Cloud name.", + "type": "string" + }, + "details": { + "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", + "type": "array", + "items": { + "type": "string" + } + }, + "errorIds": { + "description": "The list of error ids.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InitialReplicationDetails": { + "description": "Initial replication details.", + "type": "object", + "properties": { + "initialReplicationType": { + "description": "Initial replication type.", + "type": "string" + }, + "initialReplicationProgressPercentage": { + "description": "The initial replication progress percentage.", + "type": "string" + } + } + }, + "InlineWorkflowTaskDetails": { + "description": "This class represents the inline workflow task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "workflowIds": { + "description": "The list of child workflow ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + }, + "InMageAgentDetails": { + "description": "The details of the InMage agent.", + "type": "object", + "properties": { + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentUpdateStatus": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + } + } + }, + "InMageAgentVersionDetails": { + "description": "InMage agent version details.", + "type": "object", + "properties": { + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", + "type": "string" + }, + "version": { + "description": "The agent version.", + "type": "string" + }, + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", + "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } + } + } + }, + "InMageAzureV2ApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2EnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "storageAccountId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure Vm Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2EventDetails": { + "description": "Model class for event details of a VMwareAzureV2 event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "eventType": { + "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", + "type": "string" + }, + "category": { + "description": "InMage Event Category.", + "type": "string" + }, + "component": { + "description": "InMage Event Component.", + "type": "string" + }, + "correctiveAction": { + "description": "Corrective Action string for the event.", + "type": "string" + }, + "details": { + "description": "InMage Event Details.", + "type": "string" + }, + "summary": { + "description": "InMage Event Summary.", + "type": "string" + }, + "siteName": { + "description": "VMware Site name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2FailoverProviderInput": { + "description": "InMageAzureV2 provider specific input for failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2PolicyDetails": { + "description": "InMage Azure v2 specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + }, + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2PolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ProtectedDiskDetails": { + "description": "InMageAzureV2 protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The disk file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMegaBytes": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMegaBytes": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMegaBytes": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + } + } + }, + "InMageAzureV2RecoveryPointDetails": { + "description": "InMage Azure V2 provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReplicationDetails": { + "description": "InMageAzureV2 provider specific settings", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isAgentUpdateRequired": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "isRebootAfterUpdateRequired": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi vm sync is enabled or disabled.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string" + }, + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + }, + "osDiskId": { + "description": "The id of the disk containing the OS.", + "type": "string" + }, + "azureVMDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVMName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetVmId": { + "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageBasePolicyDetails": { + "description": "Base class for the policies of providers using InMage replication.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageBasePolicyDetails" + }, + "InMageDisableProtectionProviderSpecificInput": { + "description": "InMage disable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + } + ], + "properties": { + "replicaVmDeletionStatus": { + "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageDiskDetails": { + "description": "VMware/Physical specific Disk Details", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskSizeInMB": { + "description": "The disk size in MB.", + "type": "string" + }, + "diskType": { + "description": "Whether disk is system disk or data disk.", + "type": "string" + }, + "diskConfiguration": { + "description": "Whether disk is dynamic disk or basic disk.", + "type": "string" + }, + "volumeList": { + "description": "Volumes of the disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskVolumeDetails" + } + } + } + }, + "InMageDiskExclusionInput": { + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "volumeOptions": { + "description": "The volume label based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + "diskSignatureOptions": { + "description": "The guest disk signature based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + } + } + }, + "InMageDiskSignatureExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "diskSignature": { + "description": "The guest signature of disk to be excluded from replication.", + "type": "string" + } + } + }, + "InMageEnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "multiVmGroupId", + "multiVmGroupName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "vmFriendlyName": { + "description": "The Vm Name.", + "type": "string" + }, + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageFailoverProviderInput": { + "description": "Provider specific input for InMage failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": false + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMagePolicyDetails": { + "description": "InMage specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMagePolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageProtectedDiskDetails": { + "description": "InMage protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMB": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMB": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMB": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + } + } + }, + "InMageReplicationDetails": { + "description": "InMage provider specific settings", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "The resync details of the machine" + }, + "retentionWindowStart": { + "format": "date-time", + "description": "The retention window start time.", + "type": "string" + }, + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", + "type": "string" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageProtectedDiskDetails" + } + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name, if any.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "type": "string" + }, + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine.", + "type": "string" + }, + "azureStorageAccountId": { + "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names", + "type": "array", + "items": { + "type": "string" + } + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "profileId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "profileId": { + "description": "The Policy Id.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageVolumeExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "volumeLabel": { + "description": "The volume label. The disk having any volume with this label will be excluded from replication.", + "type": "string" + }, + "onlyExcludeIfSingleVolume": { + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", + "type": "string" + } + } + }, + "InnerHealthError": { + "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "object", + "properties": { + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + } + } + }, + "InputEndpoint": { + "description": "Azure VM input endpoint details.", + "type": "object", + "properties": { + "endpointName": { + "description": "The input endpoint name.", + "type": "string" + }, + "privatePort": { + "format": "int32", + "description": "The input endpoint private port.", + "type": "integer" + }, + "publicPort": { + "format": "int32", + "description": "The input endpoint public port.", + "type": "integer" + }, + "protocol": { + "description": "The input endpoint protocol.", + "type": "string" + } + } + }, + "Job": { + "description": "Job details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The custom data." + } + } + }, + "JobCollection": { + "description": "Collection of jobs.", + "type": "object", + "properties": { + "value": { + "description": "The list of jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/Job" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details based on specific job type.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true + }, + "affectedObjectDetails": { + "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "discriminator": "instanceType" + }, + "JobEntity": { + "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "type": "object", + "properties": { + "jobId": { + "description": "The job id.", + "type": "string" + }, + "jobFriendlyName": { + "description": "The job display name.", + "type": "string" + }, + "targetObjectId": { + "description": "The object id.", + "type": "string" + }, + "targetObjectName": { + "description": "The object name.", + "type": "string" + }, + "targetInstanceType": { + "description": "The workflow affected object type.", + "type": "string" + }, + "jobScenarioName": { + "description": "The job name. Enum type ScenarioName.", + "type": "string" + } + } + }, + "JobErrorDetails": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "serviceErrorDetails": { + "$ref": "#/definitions/ServiceError", + "description": "The Service error details." + }, + "providerErrorDetails": { + "$ref": "#/definitions/ProviderError", + "description": "The Provider error details." + }, + "errorLevel": { + "description": "Error level of error.", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of job error.", + "type": "string" + }, + "taskId": { + "description": "The Id of the task.", + "type": "string" + } + } + }, + "JobProperties": { + "description": "Job custom data details.", + "type": "object", + "properties": { + "activityId": { + "description": "The activity id.", + "type": "string" + }, + "scenarioName": { + "description": "The ScenarioName.", + "type": "string" + }, + "friendlyName": { + "description": "The DisplayName.", + "type": "string" + }, + "state": { + "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "type": "string" + }, + "tasks": { + "description": "The tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } + }, + "errors": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The Allowed action the job.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetObjectId": { + "description": "The affected Object Id.", + "type": "string" + }, + "targetObjectName": { + "description": "The name of the affected object.", + "type": "string" + }, + "targetInstanceType": { + "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/JobDetails", + "description": "The custom job details like test failover job details." + } + } + }, + "JobQueryParameter": { + "description": "Query parameter to enumerate jobs.", + "type": "object", + "properties": { + "startTime": { + "description": "Date time to get jobs from.", + "type": "string" + }, + "endTime": { + "description": "Date time to get jobs upto.", + "type": "string" + }, + "fabricId": { + "description": "The Id of the fabric to search jobs under.", + "type": "string" + }, + "affectedObjectTypes": { + "description": "The type of objects.", + "type": "array", + "items": { + "type": "string" + } + }, + "jobStatus": { + "description": "The states of the job to be filtered can be in.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "JobStatusEventDetails": { + "description": "Model class for event details of a job status event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSpecificDetails" + } + ], + "properties": { + "jobId": { + "description": "Job arm id for the event.", + "type": "string" + }, + "jobFriendlyName": { + "description": "JobName for the Event.", + "type": "string" + }, + "jobStatus": { + "description": "JobStatus for the Event.", + "type": "string" + }, + "affectedObjectType": { + "description": "AffectedObjectType for the event.", + "type": "string" + } + }, + "x-ms-discriminator-value": "JobStatus" + }, + "JobTaskDetails": { + "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." + } + }, + "x-ms-discriminator-value": "JobTaskDetails" + }, + "LogicalNetwork": { + "description": "Logical network data model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LogicalNetworkProperties", + "description": "The Logical Network Properties." + } + } + }, + "LogicalNetworkCollection": { + "description": "List of logical networks.", + "type": "object", + "properties": { + "value": { + "description": "The Logical Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/LogicalNetwork" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "LogicalNetworkProperties": { + "description": "Logical Network Properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkVirtualizationStatus": { + "description": "A value indicating whether Network Virtualization is enabled for the logical network.", + "type": "string" + }, + "logicalNetworkUsage": { + "description": "A value indicating whether logical network is used as private test network by test failover.", + "type": "string" + }, + "logicalNetworkDefinitionsStatus": { + "description": "A value indicating whether logical network definitions are isolated.", + "type": "string" + } + } + }, + "ManualActionTaskDetails": { + "description": "This class represents the manual action task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "instructions": { + "description": "The instructions.", + "type": "string" + }, + "observation": { + "description": "The observation.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionTaskDetails" + }, + "MasterTargetServer": { + "description": "Details of a Master Target Server.", + "type": "object", + "properties": { + "id": { + "description": "The server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the server.", + "type": "string" + }, + "name": { + "description": "The server name.", + "type": "string" + }, + "osType": { + "description": "The OS type of the server.", + "type": "string" + }, + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status", + "type": "string" + }, + "retentionVolumes": { + "description": "The retention volumes of Master target Server.", + "type": "array", + "items": { + "$ref": "#/definitions/RetentionVolume" + } + }, + "dataStores": { + "description": "The list of data stores in the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/DataStore" + } + }, + "validationErrors": { + "description": "Validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "diskCount": { + "format": "int32", + "description": "Disk count of the master target.", + "type": "integer" + }, + "osVersion": { + "description": "OS Version of the master target.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "marsAgentVersion": { + "description": "MARS agent version.", + "type": "string" + }, + "marsAgentExpiryDate": { + "format": "date-time", + "description": "MARS agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Agent version details." + }, + "marsAgentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Mars agent version details." + } + } + }, + "MobilityServiceUpdate": { + "description": "The Mobility Service update details.", + "type": "object", + "properties": { + "version": { + "description": "The version of the latest update.", + "type": "string" + }, + "rebootStatus": { + "description": "The reboot status of the update - whether it is required or not.", + "type": "string" + }, + "osType": { + "description": "The OS type.", + "type": "string" + } + } + }, + "Network": { + "description": "Network model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The Network Properties." + } + } + }, + "NetworkCollection": { + "description": "List of networks.", + "type": "object", + "properties": { + "value": { + "description": "The Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/Network" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "NetworkMapping": { + "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkMappingProperties", + "description": "The Network Mapping Properties." + } + } + }, + "NetworkMappingCollection": { + "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", + "type": "object", + "properties": { + "value": { + "description": "The Network Mappings list.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "NetworkMappingFabricSpecificSettings": { + "description": "Network Mapping fabric specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + } + }, + "NetworkMappingProperties": { + "description": "Network Mapping Properties.", + "type": "object", + "properties": { + "state": { + "description": "The pairing state for network mapping.", + "type": "string" + }, + "primaryNetworkFriendlyName": { + "description": "The primary network friendly name.", + "type": "string" + }, + "primaryNetworkId": { + "description": "The primary network id for network mapping.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryNetworkFriendlyName": { + "description": "The recovery network friendly name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "The recovery network id for network mapping.", + "type": "string" + }, + "recoveryFabricArmId": { + "description": "The recovery fabric ARM id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "fabricSpecificSettings": { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", + "description": "The fabric specific settings." + } + } + }, + "NetworkProperties": { + "description": "Network Properties", + "type": "object", + "properties": { + "fabricType": { + "description": "The Fabric Type.", + "type": "string" + }, + "subnets": { + "description": "The List of subnets.", + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkType": { + "description": "The Network Type.", + "type": "string" + } + } + }, + "Object": { + "description": "Base of all objects.", + "type": "object", + "properties": {} + }, + "OperationsDiscovery": { + "description": "Operations discovery class.", + "type": "object", + "properties": { + "name": { + "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", + "type": "string" + }, + "display": { + "$ref": "#/definitions/Display", + "description": "Object type" + }, + "origin": { + "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationsDiscoveryProperties", + "description": "Properties. Reserved for future use." + } + } + }, + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", + "type": "object", + "properties": { + "value": { + "description": "The ClientDiscovery details.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDiscovery" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object", + "properties": {} + }, + "OSDetails": { + "description": "Disk Details.", + "type": "object", + "properties": { + "osType": { + "description": "VM Disk details.", + "type": "string" + }, + "productType": { + "description": "Product type.", + "type": "string" + }, + "osEdition": { + "description": "The OSEdition.", + "type": "string" + }, + "oSVersion": { + "description": "The OS Version.", + "type": "string" + }, + "oSMajorVersion": { + "description": "The OS Major Version.", + "type": "string" + }, + "oSMinorVersion": { + "description": "The OS Minor Version.", + "type": "string" + } + } + }, + "OSDiskDetails": { + "description": "Details of the OS Disk.", + "type": "object", + "properties": { + "osVhdId": { + "description": "The id of the disk containing the OS.", + "type": "string" + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string" + }, + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + } + } + }, + "PlannedFailoverInput": { + "description": "Input definition for planned failover.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PlannedFailoverInputProperties", + "description": "Planned failover input properties" + } + } + }, + "PlannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" + } + } + }, + "Policy": { + "description": "Protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PolicyProperties", + "description": "The custom data." + } + } + }, + "PolicyCollection": { + "description": "Protection Profile Collection details.", + "type": "object", + "properties": { + "value": { + "description": "The policy details.", + "type": "array", + "items": { + "$ref": "#/definitions/Policy" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "PolicyProperties": { + "description": "Protection profile custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The FriendlyName.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/PolicyProviderSpecificDetails", + "description": "The ReplicationChannelSetting." + } + } + }, + "PolicyProviderSpecificDetails": { + "description": "Base class for Provider specific details for policies.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "PolicyProviderSpecificInput": { + "description": "Base class for provider specific input", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ProcessServer": { + "description": "Details of the Process Server.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Process Server's friendly name.", + "type": "string" + }, + "id": { + "description": "The Process Server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the server.", + "type": "string" + }, + "osType": { + "description": "The OS type of the server.", + "type": "string" + }, + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status", + "type": "string" + }, + "mobilityServiceUpdates": { + "description": "The list of the mobility service updates available on the Process Server.", + "type": "array", + "items": { + "$ref": "#/definitions/MobilityServiceUpdate" + } + }, + "hostId": { + "description": "The agent generated Id.", + "type": "string" + }, + "machineCount": { + "description": "The servers configured with this PS.", + "type": "string" + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this PS.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "psServiceStatus": { + "description": "The PS service status.", + "type": "string" + }, + "sslCertExpiryDate": { + "format": "date-time", + "description": "The PS SSL cert expiry date.", + "type": "string" + }, + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "osVersion": { + "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", + "type": "string" + }, + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." + } + } + }, + "ProtectableItem": { + "description": "Replication protected item", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableItemProperties", + "description": "The custom data." + } + } + }, + "ProtectableItemCollection": { + "description": "Protectable item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protectable item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableItem" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ProtectableItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "protectionStatus": { + "description": "The protection status.", + "type": "string" + }, + "replicationProtectedItemId": { + "description": "The ARM resource of protected items.", + "type": "string" + }, + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" + }, + "protectionReadinessErrors": { + "description": "The Current protection readiness errors.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedReplicationProviders": { + "description": "The list of replication providers supported for the protectable item.", + "type": "array", + "items": { + "type": "string" + } + }, + "customDetails": { + "$ref": "#/definitions/ConfigurationSettings", + "description": "The Replication provider custom settings." + } + } + }, + "ProtectedItemsQueryParameter": { + "description": "Query parameter to enumerate protected items.", + "type": "object", + "properties": { + "sourceFabricName": { + "description": "The source fabric name filter.", + "type": "string" + }, + "recoveryPlanName": { + "description": "The recovery plan filter.", + "type": "string" + }, + "vCenterName": { + "description": "The vCenter name filter.", + "type": "string" + }, + "instanceType": { + "description": "The replication provider type.", + "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "type": "string" + } + } + }, + "ProtectionContainer": { + "description": "Protection container details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainerProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerCollection": { + "description": "Protection Container collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protection Container details.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ProtectionContainerFabricSpecificDetails": { + "description": "Base class for fabric specific details of container.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + } + }, + "ProtectionContainerMapping": { + "description": "Protection container mapping object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainerMappingProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerMappingCollection": { + "description": "Protection container mapping collection class.", + "type": "object", + "properties": { + "value": { + "description": "List of container mappings.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "nextLink": { + "description": "Link to fetch rest of the data.", + "type": "string" + } + } + }, + "ProtectionContainerMappingProperties": { + "description": "Protection container mapping properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "Paired protection container ARM ID.", + "type": "string" + }, + "targetProtectionContainerFriendlyName": { + "description": "Friendly name of paired container.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", + "description": "Provider specific provider details." + }, + "health": { + "description": "Health of pairing.", + "type": "string" + }, + "healthErrorDetails": { + "description": "Health error.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "Policy ARM Id.", + "type": "string" + }, + "state": { + "description": "Association Status", + "type": "string" + }, + "sourceProtectionContainerFriendlyName": { + "description": "Friendly name of source protection container.", + "type": "string" + }, + "sourceFabricFriendlyName": { + "description": "Friendly name of source fabric.", + "type": "string" + }, + "targetFabricFriendlyName": { + "description": "Friendly name of target fabric.", + "type": "string" + }, + "policyFriendlyName": { + "description": "Friendly name of replication policy.", + "type": "string" + } + } + }, + "ProtectionContainerMappingProviderSpecificDetails": { + "description": "Container mapping provider specific details.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + } + }, + "ProtectionContainerProperties": { + "description": "Protection profile custom data details.", + "type": "object", + "properties": { + "fabricFriendlyName": { + "description": "Fabric friendly name.", + "type": "string" + }, + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "fabricType": { + "description": "The fabric type.", + "type": "string" + }, + "protectedItemCount": { + "format": "int32", + "description": "Number of protected PEs", + "type": "integer" + }, + "pairingStatus": { + "description": "The pairing status of this cloud.", + "type": "string" + }, + "role": { + "description": "The role of this cloud.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", + "description": "Fabric specific details." + } + } + }, + "ProviderError": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "The Error code.", + "type": "integer" + }, + "errorMessage": { + "description": "The Error message.", + "type": "string" + }, + "errorId": { + "description": "The Provider error Id.", + "type": "string" + }, + "possibleCauses": { + "description": "The possible causes for the error.", + "type": "string" + }, + "recommendedAction": { + "description": "The recommended action to resolve the error.", + "type": "string" + } + } + }, + "ProviderSpecificFailoverInput": { + "description": "Provider specific failover input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ProviderSpecificRecoveryPointDetails": { + "description": "Replication provider specific recovery point details.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the provider type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "RcmAzureMigrationPolicyDetails": { + "description": "RCM based Azure migration specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncStatus", + "modelAsString": false + } + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "RcmAzureMigration" + }, + "RecoveryPlan": { + "description": "Recovery plan details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanProperties", + "description": "The custom details." + } + } + }, + "RecoveryPlanA2AFailoverInput": { + "description": "Recovery plan A2A failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARpRecoveryPointType", + "modelAsString": false + } + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + }, + "multiVmSyncPointOption": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "enum": [ + "UseMultiVmSyncRecoveryPoint", + "UsePerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncPointOption", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "RecoveryPlanAction": { + "description": "Recovery plan action details.", + "required": [ + "actionName", + "failoverTypes", + "failoverDirections", + "customDetails" + ], + "type": "object", + "properties": { + "actionName": { + "description": "The action name.", + "type": "string" + }, + "failoverTypes": { + "description": "The list of failover types.", + "type": "array", + "items": { + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationProtectedItemOperation", + "modelAsString": false + } + } + }, + "failoverDirections": { + "description": "The list of failover directions.", + "type": "array", + "items": { + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + } + }, + "customDetails": { + "$ref": "#/definitions/RecoveryPlanActionDetails", + "description": "The custom details." + } + } + }, + "RecoveryPlanActionDetails": { + "description": "Recovery plan action custom details.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "description": "Recovery plan Automation runbook action details.", + "required": [ + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "runbookId": { + "description": "The runbook ARM Id.", + "type": "string" + }, + "timeout": { + "description": "The runbook timeout.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "AutomationRunbookActionDetails" + }, + "RecoveryPlanCollection": { + "description": "Recovery plan collection details.", + "type": "object", + "properties": { + "value": { + "description": "The list of recovery plans.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryPlanGroup": { + "description": "Recovery plan group details.", + "required": [ + "groupType" + ], + "type": "object", + "properties": { + "groupType": { + "description": "The group type.", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanGroupType", + "modelAsString": false + } + }, + "replicationProtectedItems": { + "description": "The list of protected items.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + "startGroupActions": { + "description": "The start group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + "endGroupActions": { + "description": "The end group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + } + } + }, + "RecoveryPlanGroupTaskDetails": { + "description": "This class represents the recovery plan group task.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" + }, + "RecoveryPlanHyperVReplicaAzureFailbackInput": { + "description": "Recovery plan HVR Azure failback input.", + "required": [ + "dataSyncOption", + "recoveryVmCreationOption" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "dataSyncOption": { + "description": "The data sync option.", + "enum": [ + "ForDownTime", + "ForSynchronization" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSyncStatus", + "modelAsString": false + } + }, + "recoveryVmCreationOption": { + "description": "The ALR option.", + "enum": [ + "CreateVmIfNotFound", + "NoAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AlternateLocationRecoveryOption", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "RecoveryPlanHyperVReplicaAzureFailoverInput": { + "description": "Recovery plan HVR Azure failover input.", + "required": [ + "vaultLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "The primary KEK certificate PFX.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary KEK certificate PFX.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "HyperVReplicaAzureRpRecoveryPointType", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "RecoveryPlanInMageAzureV2FailoverInput": { + "description": "Recovery plan InMageAzureV2 failover input.", + "required": [ + "vaultLocation", + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageV2RpRecoveryPointType", + "modelAsString": false + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "RecoveryPlanInMageFailoverInput": { + "description": "Recovery plan InMage failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RpInMageRecoveryPointType", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "RecoveryPlanManualActionDetails": { + "description": "Recovery plan manual action details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "description": { + "description": "The manual action description.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionDetails" + }, + "RecoveryPlanPlannedFailoverInput": { + "description": "Recovery plan planned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", + "description": "The recovery plan planned failover input properties." + } + } + }, + "RecoveryPlanPlannedFailoverInputProperties": { + "description": "Recovery plan planned failover input properties.", + "required": [ + "failoverDirection" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPlanProperties": { + "description": "Recovery plan custom details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name.", + "type": "string" + }, + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "type": "string" + }, + "replicationProviders": { + "description": "The list of replication providers.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedOperations": { + "description": "The list of allowed operations.", + "type": "array", + "items": { + "type": "string" + } + }, + "lastPlannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last planned failover.", + "type": "string" + }, + "lastUnplannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last unplanned failover.", + "type": "string" + }, + "lastTestFailoverTime": { + "format": "date-time", + "description": "The start time of the last test failover.", + "type": "string" + }, + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario details." + }, + "currentScenarioStatus": { + "description": "The recovery plan status.", + "type": "string" + }, + "currentScenarioStatusDescription": { + "description": "The recovery plan status description.", + "type": "string" + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + } + } + }, + "RecoveryPlanProtectedItem": { + "description": "Recovery plan protected item.", + "type": "object", + "properties": { + "id": { + "description": "The ARM Id of the recovery plan protected item.", + "type": "string" + }, + "virtualMachineId": { + "description": "The virtual machine Id.", + "type": "string" + } + } + }, + "RecoveryPlanProviderSpecificFailoverInput": { + "description": "Recovery plan provider specific failover input base class.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanScriptActionDetails": { + "description": "Recovery plan script action details.", + "required": [ + "path", + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "path": { + "description": "The script path.", + "type": "string" + }, + "timeout": { + "description": "The script timeout.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "ScriptActionDetails" + }, + "RecoveryPlanShutdownGroupTaskDetails": { + "description": "This class represents the recovery plan shutdown group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + }, + "RecoveryPlanTestFailoverCleanupInput": { + "description": "Recovery plan test failover cleanup input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", + "description": "The recovery plan test failover cleanup input properties." + } + } + }, + "RecoveryPlanTestFailoverCleanupInputProperties": { + "description": "Recovery plan test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "The test failover cleanup comments.", + "type": "string" + } + } + }, + "RecoveryPlanTestFailoverInput": { + "description": "Recovery plan test failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", + "description": "The recovery plan test failover input properties." + } + } + }, + "RecoveryPlanTestFailoverInputProperties": { + "description": "Recovery plan test failover input properties.", + "required": [ + "failoverDirection", + "networkType" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "networkType": { + "description": "The network type to be used for test failover.", + "type": "string" + }, + "networkId": { + "description": "The Id of the network to be used for test failover.", + "type": "string" + }, + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", + "type": "string" + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPlanUnplannedFailoverInput": { + "description": "Recovery plan unplanned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", + "description": "The recovery plan unplanned failover input properties." + } + } + }, + "RecoveryPlanUnplannedFailoverInputProperties": { + "description": "Recovery plan unplanned failover input properties.", + "required": [ + "failoverDirection", + "sourceSiteOperations" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "sourceSiteOperations": { + "description": "A value indicating whether source site operations are required.", + "enum": [ + "Required", + "NotRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceSiteOperations", + "modelAsString": false + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class representing a recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Recovery point related data." + } + } + }, + "RecoveryPointCollection": { + "description": "Collection of recovery point details.", + "type": "object", + "properties": { + "value": { + "description": "The recovery point details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPoint" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryPointProperties": { + "description": "Recovery point properties.", + "type": "object", + "properties": { + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", + "description": "The provider specific details for the recovery point." + } + } + }, + "RecoveryServicesProvider": { + "description": "Provider details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryServicesProviderProperties", + "description": "Provider properties." + } + } + }, + "RecoveryServicesProviderCollection": { + "description": "Collection of providers.", + "type": "object", + "properties": { + "value": { + "description": "The Servers details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryServicesProviderProperties": { + "description": "Recovery services provider properties.", + "type": "object", + "properties": { + "fabricType": { + "description": "Type of the site.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the DRA.", + "type": "string" + }, + "providerVersion": { + "description": "The provider version.", + "type": "string" + }, + "serverVersion": { + "description": "The fabric provider.", + "type": "string" + }, + "providerVersionState": { + "description": "DRA version status.", + "type": "string" + }, + "providerVersionExpiryDate": { + "format": "date-time", + "description": "Expiry date of the version.", + "type": "string" + }, + "fabricFriendlyName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "lastHeartBeat": { + "format": "date-time", + "description": "Time when last heartbeat was sent by the DRA.", + "type": "string" + }, + "connectionStatus": { + "description": "A value indicating whether DRA is responsive.", + "type": "string" + }, + "protectedItemCount": { + "format": "int32", + "description": "Number of protected VMs currently managed by the DRA.", + "type": "integer" + }, + "allowedScenarios": { + "description": "The scenarios allowed on this provider.", + "type": "array", + "items": { + "type": "string" + } + }, + "healthErrorDetails": { + "description": "The recovery services provider health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "draIdentifier": { + "description": "The DRA Id.", + "type": "string" + }, + "identityDetails": { + "$ref": "#/definitions/IdentityInformation", + "description": "The identity details." + }, + "providerVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The provider version details." + } + } + }, + "RemoveProtectionContainerMappingInput": { + "description": "Container unpairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "RemoveProtectionContainerMappingInputProperties": { + "description": "Unpairing input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", + "description": "Provider specific input for unpairing." + } + } + }, + "RenewCertificateInput": { + "description": "Certificate renewal input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RenewCertificateInputProperties", + "description": "Renew certificate input properties." + } + } + }, + "RenewCertificateInputProperties": { + "description": "Renew Certificate input properties.", + "type": "object", + "properties": { + "renewCertificateType": { + "description": "Renew certificate type.", + "type": "string" + } + } + }, + "ReplicationGroupDetails": { + "description": "Replication group details. This will be used in case of San and Wvr.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ReplicationGroupDetails" + }, + "ReplicationProtectedItem": { + "description": "Replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProtectedItemProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectedItemCollection": { + "description": "Replication protected item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protected item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ReplicationProtectedItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "protectedItemType": { + "description": "The type of protected item type.", + "type": "string" + }, + "protectableItemId": { + "description": "The protected item ARM Id.", + "type": "string" + }, + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The friendly name of the primary fabric.", + "type": "string" + }, + "primaryFabricProvider": { + "description": "The fabric provider of the primary fabric.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The friendly name of recovery fabric.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The Arm Id of recovery fabric.", + "type": "string" + }, + "primaryProtectionContainerFriendlyName": { + "description": "The name of primary protection container friendly name.", + "type": "string" + }, + "recoveryProtectionContainerFriendlyName": { + "description": "The name of recovery container friendly name.", + "type": "string" + }, + "protectionState": { + "description": "The protection status.", + "type": "string" + }, + "protectionStateDescription": { + "description": "The protection state description.", + "type": "string" + }, + "activeLocation": { + "description": "The Current active location of the PE.", + "type": "string" + }, + "testFailoverState": { + "description": "The Test failover state.", + "type": "string" + }, + "testFailoverStateDescription": { + "description": "The Test failover state description.", + "type": "string" + }, + "allowedOperations": { + "description": "The allowed operations on the Replication protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "replicationHealth": { + "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", + "type": "string" + }, + "failoverHealth": { + "description": "The consolidated failover health for the VM.", + "type": "string" + }, + "healthErrors": { + "description": "List of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "The ID of Policy governing this PE.", + "type": "string" + }, + "policyFriendlyName": { + "description": "The name of Policy governing this PE.", + "type": "string" + }, + "lastSuccessfulFailoverTime": { + "format": "date-time", + "description": "The Last successful failover time.", + "type": "string" + }, + "lastSuccessfulTestFailoverTime": { + "format": "date-time", + "description": "The Last successful test failover time.", + "type": "string" + }, + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario." + }, + "failoverRecoveryPointId": { + "description": "The recovery point ARM Id to which the Vm was failed over.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProviderSpecificSettings", + "description": "The Replication provider custom settings." + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + } + } + }, + "ReplicationProviderContainerUnmappingInput": { + "description": "Provider specific input for unpairing operations.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + } + }, + "ReplicationProviderSpecificContainerCreationInput": { + "description": "Provider specific input for container creation operation.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificContainerMappingInput": { + "description": "Provider specific input for pairing operations.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + } + }, + "ReplicationProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "Resource": { + "description": "Azure resource.", + "properties": { + "id": { + "description": "Resource Id", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource Type", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource Location", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceHealthSummary": { + "description": "Base class to define the health summary of the resources contained under an Arm resource.", + "type": "object", + "properties": { + "resourceCount": { + "format": "int32", + "description": "The count of total resources umder the container.", + "type": "integer" + }, + "issues": { + "description": "The list of summary of health errors across the resources under the container.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorSummary" + } + } + } + }, + "ResumeJobParams": { + "description": "Resume job params.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResumeJobParamsProperties", + "description": "Resume job properties." + } + } + }, + "ResumeJobParamsProperties": { + "description": "Resume job properties.", + "type": "object", + "properties": { + "comments": { + "description": "Resume job comments.", + "type": "string" + } + } + }, + "RetentionVolume": { + "description": "The retention details of the MT.", + "type": "object", + "properties": { + "volumeName": { + "description": "The volume name.", + "type": "string" + }, + "capacityInBytes": { + "format": "int64", + "description": "The volume capacity.", + "type": "integer" + }, + "freeSpaceInBytes": { + "format": "int64", + "description": "The free space available in this volume.", + "type": "integer" + }, + "thresholdPercentage": { + "format": "int32", + "description": "The threshold percentage.", + "type": "integer" + } + } + }, + "ReverseReplicationInput": { + "description": "Reverse replication input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ReverseReplicationInputProperties", + "description": "Reverse replication properties" + } + } + }, + "ReverseReplicationInputProperties": { + "description": "Reverse replication input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", + "description": "Provider specific reverse replication input." + } + } + }, + "ReverseReplicationProviderSpecificInput": { + "description": "Provider specific reverse replication input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RoleAssignment": { + "description": "Azure role assignment details.", + "type": "object", + "properties": { + "id": { + "description": "The ARM Id of the role assignment.", + "type": "string" + }, + "name": { + "description": "The name of the role assignment.", + "type": "string" + }, + "scope": { + "description": "Role assignment scope.", + "type": "string" + }, + "principalId": { + "description": "Principal Id.", + "type": "string" + }, + "roleDefinitionId": { + "description": "Role definition id.", + "type": "string" + } + } + }, + "RunAsAccount": { + "description": "CS Accounts Details.", + "type": "object", + "properties": { + "accountId": { + "description": "The CS RunAs account Id.", + "type": "string" + }, + "accountName": { + "description": "The CS RunAs account name.", + "type": "string" + } + } + }, + "SanEnableProtectionInput": { + "description": "San enable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "San" + }, + "ScriptActionTaskDetails": { + "description": "This class represents the script action task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "path": { + "description": "The path.", + "type": "string" + }, + "output": { + "description": "The output.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "ScriptActionTaskDetails" + }, + "ServiceError": { + "description": "ASR error model", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "activityId": { + "description": "Activity Id.", + "type": "string" + } + } + }, + "StorageClassification": { + "description": "Storage object definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageClassificationProperties", + "description": "Proprties of the storage object." + } + } + }, + "StorageClassificationCollection": { + "description": "Collection of storage details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassification" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "StorageClassificationMapping": { + "description": "Storage mapping object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageClassificationMappingProperties", + "description": "Proprties of the storage mappping object." + } + } + }, + "StorageClassificationMappingCollection": { + "description": "Collection of storage mapping details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassificationMapping" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "StorageClassificationMappingInput": { + "description": "Storage mapping input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/StorageMappingInputProperties", + "description": "Storage mapping input properties." + } + } + }, + "StorageClassificationMappingProperties": { + "description": "Storage mapping properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "Target storage object Id.", + "type": "string" + } + } + }, + "StorageClassificationProperties": { + "description": "Storage object properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the Storage classification.", + "type": "string" + } + } + }, + "StorageMappingInputProperties": { + "description": "Storage mapping input properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "The ID of the storage object.", + "type": "string" + } + } + }, + "Subnet": { + "description": "Subnets of the network.", + "type": "object", + "properties": { + "name": { + "description": "The subnet name.", + "type": "string" + }, + "friendlyName": { + "description": "The subnet friendly name.", + "type": "string" + }, + "addressList": { + "description": "The list of addresses for the subnet.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SwitchProtectionInput": { + "description": "Switch protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SwitchProtectionInputProperties", + "description": "Switch protection properties" + } + } + }, + "SwitchProtectionInputProperties": { + "description": "Switch protection input properties.", + "type": "object", + "properties": { + "replicationProtectedItemName": { + "description": "The unique replication protected item name.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", + "description": "Provider specific switch protection input." + } + } + }, + "SwitchProtectionJobDetails": { + "description": "This class represents details for switch protection job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "newReplicationProtectedItemId": { + "description": "ARM Id of the new replication protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "SwitchProtectionJobDetails" + }, + "SwitchProtectionProviderSpecificInput": { + "description": "Provider specific switch protection input.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "TargetComputeSize": { + "description": "Represents applicable recovery vm sizes.", + "type": "object", + "properties": { + "id": { + "description": "The Id.", + "type": "string" + }, + "name": { + "description": "The name.", + "type": "string" + }, + "type": { + "description": "The Type of the object.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/TargetComputeSizeProperties", + "description": "The custom data." + } + } + }, + "TargetComputeSizeCollection": { + "description": "Target compute size collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of target compute sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetComputeSize" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "TargetComputeSizeProperties": { + "description": "Represents applicable recovery vm sizes properties.", + "type": "object", + "properties": { + "name": { + "description": "Target compute size name.", + "type": "string" + }, + "friendlyName": { + "description": "Target compute size display name.", + "type": "string" + }, + "cpuCoresCount": { + "format": "int32", + "description": "The maximum cpu cores count supported by target compute size.", + "type": "integer" + }, + "memoryInGB": { + "format": "double", + "description": "The maximum memory in GB supported by target compute size.", + "type": "number" + }, + "maxDataDiskCount": { + "format": "int32", + "description": "The maximum data disks count supported by target compute size.", + "type": "integer" + }, + "maxNicsCount": { + "format": "int32", + "description": "The maximum Nics count supported by target compute size.", + "type": "integer" + }, + "errors": { + "description": "The reasons why the target compute size is not applicable for the protected item.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeSizeErrorDetails" + } + }, + "highIopsSupported": { + "description": "The value indicating whether the target compute size supports high Iops.", + "type": "string" + } + } + }, + "TaskTypeDetails": { + "description": "Task details based on specific task type.", + "type": "object", + "properties": { + "instanceType": { + "description": "The type of task details.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "TestFailoverCleanupInput": { + "description": "Input definition for test failover cleanup.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverCleanupInputProperties", + "description": "Test failover cleanup input properties." + } + } + }, + "TestFailoverCleanupInputProperties": { + "description": "Input definition for test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "Test failover cleanup comments.", + "type": "string" + } + } + }, + "TestFailoverInput": { + "description": "Input definition for planned failover.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverInputProperties", + "description": "Planned failover input properties" + } + } + }, + "TestFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "networkType": { + "description": "Network type to be used for test failover.", + "type": "string" + }, + "networkId": { + "description": "The id of the network to be used for test failover", + "type": "string" + }, + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" + } + } + }, + "TestFailoverJobDetails": { + "description": "This class represents the details for a test failover job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "testFailoverStatus": { + "description": "The test failover status.", + "type": "string" + }, + "comments": { + "description": "The test failover comments.", + "type": "string" + }, + "networkName": { + "description": "The test network name.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The test network friendly name.", + "type": "string" + }, + "networkType": { + "description": "The test network type (see TestFailoverInput enum for possible values).", + "type": "string" + }, + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } + } + }, + "x-ms-discriminator-value": "TestFailoverJobDetails" + }, + "UnplannedFailoverInput": { + "description": "Input definition for planned failover.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UnplannedFailoverInputProperties", + "description": "Planned failover input properties" + } + } + }, + "UnplannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "sourceSiteOperations": { + "description": "Source site operations status", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" + } + } + }, + "UpdateMobilityServiceRequest": { + "description": "Request to update the mobility service on a protected item.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", + "description": "The properties of the update mobility service request." + } + } + }, + "UpdateMobilityServiceRequestProperties": { + "description": "The properties of an update mobility service request.", + "type": "object", + "properties": { + "runAsAccountId": { + "description": "The CS run as account Id.", + "type": "string" + } + } + }, + "UpdateNetworkMappingInput": { + "description": "Update network mapping input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateNetworkMappingInputProperties", + "description": "The input properties needed to update network mapping." + } + } + }, + "UpdateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", + "description": "Fabrics specific input network Id." + } + } + }, + "UpdatePolicyInput": { + "description": "Update protection profile input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdatePolicyInputProperties", + "description": "The ReplicationProviderSettings." + } + } + }, + "UpdatePolicyInputProperties": { + "description": "Policy update properties.", + "type": "object", + "properties": { + "replicationProviderSettings": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "UpdateRecoveryPlanInput": { + "description": "Update recovery plan input class.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", + "description": "Recovery plan update properties." + } + } + }, + "UpdateRecoveryPlanInputProperties": { + "description": "Recovery plan updation properties.", + "type": "object", + "properties": { + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + } + } + }, + "UpdateReplicationProtectedItemInput": { + "description": "Update replication protected item input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", + "description": "Update replication protected item properties." + } + } + }, + "UpdateReplicationProtectedItemInputProperties": { + "description": "Update protected item input properties.", + "type": "object", + "properties": { + "recoveryAzureVMName": { + "description": "Target azure VM name given by the user.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "Target Azure Vm size.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "Target Azure Network Id.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "vmNics": { + "description": "The list of vm nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicInputDetails" + } + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": false + } + }, + "recoveryAvailabilitySetId": { + "description": "The target availability set id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", + "description": "The provider specific input to update replication protected item." + } + } + }, + "UpdateReplicationProtectedItemProviderInput": { + "description": "Update replication protected item provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateVCenterRequest": { + "description": "Input required to update vCenter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateVCenterRequestProperties", + "description": "The update VCenter Request Properties." + } + } + }, + "UpdateVCenterRequestProperties": { + "description": "The properties of an update vCenter request.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the vCenter.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id from where the update can be orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id which has priviliges to update the vCenter.", + "type": "string" + } + } + }, + "VaultHealthDetails": { + "description": "Vault health details definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultHealthProperties", + "description": "The vault health related data." + } + } + }, + "VaultHealthProperties": { + "description": "class to define the health summary of the Vault.", + "type": "object", + "properties": { + "vaultErrors": { + "description": "The list of errors on the vault.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "protectedItemsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the protected items in the vault." + }, + "fabricsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the fabrics in the vault." + } + } + }, + "VCenter": { + "description": "vCenter definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "VCenter related data." + } + } + }, + "VCenterCollection": { + "description": "Collection of vCenter details.", + "type": "object", + "properties": { + "value": { + "description": "The vCenter details.", + "type": "array", + "items": { + "$ref": "#/definitions/VCenter" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "VCenterProperties": { + "description": "vCenter properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the vCenter.", + "type": "string" + }, + "internalId": { + "description": "VCenter internal ID.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The time when the last heartbeat was reveived by vCenter.", + "type": "string" + }, + "discoveryStatus": { + "description": "The VCenter discovery status.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter.", + "type": "string" + }, + "infrastructureId": { + "description": "The infrastructure Id of vCenter.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + }, + "fabricArmResourceName": { + "description": "The ARM resource name of the fabric containing this VCenter.", + "type": "string" + }, + "healthErrors": { + "description": "The health errors for this VCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "VersionDetails": { + "description": "Version related deatils.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string" + }, + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", + "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } + } + } + }, + "VirtualMachineTaskDetails": { + "description": "This class represents the virtual machine task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." + } + }, + "x-ms-discriminator-value": "VirtualMachineTaskDetails" + }, + "VmmDetails": { + "description": "VMM fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VMM" + }, + "VmmToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToAzureUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to azure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmVirtualMachineDetails": { + "description": "VMM fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "sourceItemId": { + "description": "The source id of the object.", + "type": "string" + }, + "generation": { + "description": "The id of the object in fabric.", + "type": "string" + }, + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "VmmVirtualMachine" + }, + "VMNicDetails": { + "description": "Hyper V VM network details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", + "type": "string" + }, + "replicaNicId": { + "description": "The replica nic Id.", + "type": "string" + }, + "sourceNicArmId": { + "description": "The source nic ARM Id.", + "type": "string" + }, + "vMSubnetName": { + "description": "VM subnet name.", + "type": "string" + }, + "vMNetworkName": { + "description": "VM network name.", + "type": "string" + }, + "recoveryVMNetworkId": { + "description": "Recovery VM network Id.", + "type": "string" + }, + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", + "type": "string" + }, + "ipAddressType": { + "description": "Ip address type.", + "type": "string" + }, + "primaryNicStaticIPAddress": { + "description": "Primary nic static IP address.", + "type": "string" + }, + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", + "type": "string" + }, + "selectionType": { + "description": "Selection type for failover.", + "type": "string" + }, + "recoveryNicIpAddressType": { + "description": "IP allocation type for recovery VM.", + "type": "string" + } + } + }, + "VMNicInputDetails": { + "description": "Hyper V VM network input details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", + "type": "string" + }, + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", + "type": "string" + }, + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", + "type": "string" + }, + "selectionType": { + "description": "Selection type for failover.", + "type": "string" + } + } + }, + "VmNicUpdatesTaskDetails": { + "description": "This class represents the vm NicUpdates task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmId": { + "description": "Virtual machine Id.", + "type": "string" + }, + "nicId": { + "description": "Nic Id.", + "type": "string" + }, + "name": { + "description": "Name of the Nic.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + }, + "VMwareCbtPolicyCreationInput": { + "description": "VMware Cbt Policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VmwareCbtPolicyDetails": { + "description": "VMware Cbt specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareDetails": { + "description": "Store the fabric details specific to the VMware fabric.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "processServers": { + "description": "The list of Process Servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServer" + } + }, + "masterTargetServers": { + "description": "The list of Master Target servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/MasterTargetServer" + } + }, + "runAsAccounts": { + "description": "The list of run as accounts created on the server.", + "type": "array", + "items": { + "$ref": "#/definitions/RunAsAccount" + } + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this CS.", + "type": "string" + }, + "processServerCount": { + "description": "The number of process servers.", + "type": "string" + }, + "agentCount": { + "description": "The number of source and target servers configured to talk to this CS.", + "type": "string" + }, + "protectedServers": { + "description": "The number of protected servers.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "webLoad": { + "description": "The web load.", + "type": "string" + }, + "webLoadStatus": { + "description": "The web load status.", + "type": "string" + }, + "databaseServerLoad": { + "description": "The database server load.", + "type": "string" + }, + "databaseServerLoadStatus": { + "description": "The database server load status.", + "type": "string" + }, + "csServiceStatus": { + "description": "The CS service status.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent Version.", + "type": "string" + }, + "hostName": { + "description": "The host name.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from CS server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status", + "type": "string" + }, + "sslCertExpiryDate": { + "format": "date-time", + "description": "CS SSL cert expiry date.", + "type": "string" + }, + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "psTemplateVersion": { + "description": "PS template version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." + } + }, + "x-ms-discriminator-value": "VMware" + }, + "VMwareV2FabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "keyVaultUrl": { + "description": "The Key Vault URL.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareV2" + }, + "VMwareV2FabricSpecificDetails": { + "description": "VMwareV2 fabric Specific Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "srsServiceEndpoint": { + "description": "The endpoint for making requests to the SRS Service.", + "type": "string" + }, + "rcmServiceEndpoint": { + "description": "The endpoint for making requests to the RCM Service.", + "type": "string" + }, + "keyVaultUrl": { + "description": "The Key Vault URL.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareV2" + }, + "VMwareVirtualMachineDetails": { + "description": "VMware provider specific settings", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "agentGeneratedId": { + "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", + "type": "string" + }, + "agentInstalled": { + "description": "The value indicating if InMage scout agent is installed on guest.", + "type": "string" + }, + "osType": { + "description": "The OsType installed on VM.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "poweredOn": { + "description": "The value indicating whether VM is powered on.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The VCenter infrastructure Id.", + "type": "string" + }, + "discoveryType": { + "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "diskDetails": { + "description": "The disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskDetails" + } + }, + "validationErrors": { + "description": "The validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + }, + "x-ms-discriminator-value": "VMwareVirtualMachine" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string" + }, + "ResourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string" + }, + "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." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file From 2cad80352cc6b4e4d6d0117df4da2967968b033f Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Tue, 6 Feb 2018 18:38:03 +0530 Subject: [PATCH 2/6] Updating readme file for new API:2018-01-10 --- .../resource-manager/readme.md | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md index a72f5af5fc93..5630798dc06b 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md @@ -26,9 +26,17 @@ These are the global settings for the RecoveryServicesSiteRecovery API. ``` yaml openapi-type: arm -tag: package-2016-08 +tag: package-2018-01 ``` +### Tag: package-2016-08 + +These settings apply only when `--tag=package-2018-01` is specified on the command line. + +``` yaml $(tag) == 'package-2018-01' +input-file: +- Microsoft.RecoveryServices/stable/2018-01-10/service.json +``` ### Tag: package-2016-08 @@ -86,9 +94,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2018-01 - tag: package-2016-08 ``` +### Tag: package-2018-01 and go + +These settings apply only when `--tag=package-2018-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2018-01' && $(go) +output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2018-01-10/siterecovery +``` + ### Tag: package-2016-08 and go These settings apply only when `--tag=package-2016-08 --go` is specified on the command line. From 8091f0a558f77ae8bb3b1efe1cce124ec671529c Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Wed, 7 Feb 2018 17:09:44 +0530 Subject: [PATCH 3/6] Updating api examples --- .../examples/ReplicationEvents_Get.json | 2 +- .../examples/ReplicationEvents_List.json | 4 ++-- .../examples/ReplicationJobs_Cancel.json | 8 +------- .../examples/ReplicationJobs_Export.json | 5 +---- .../2018-01-10/examples/ReplicationJobs_Get.json | 7 ++----- .../2018-01-10/examples/ReplicationJobs_List.json | 15 +++------------ .../examples/ReplicationJobs_Restart.json | 7 ++----- .../examples/ReplicationJobs_Resume.json | 5 +---- ...licationProtectedItems_ApplyRecoveryPoint.json | 1 - .../ReplicationProtectedItems_Create.json | 1 - .../ReplicationProtectedItems_FailoverCommit.json | 1 - .../examples/ReplicationProtectedItems_Get.json | 1 - .../examples/ReplicationProtectedItems_List.json | 1 - ...ems_ListByReplicationProtectionContainers.json | 1 - ...ReplicationProtectedItems_PlannedFailover.json | 1 - ...plicationProtectedItems_RepairReplication.json | 1 - .../ReplicationProtectedItems_Reprotect.json | 1 - .../ReplicationProtectedItems_TestFailover.json | 1 - ...icationProtectedItems_TestFailoverCleanup.json | 1 - ...plicationProtectedItems_UnplannedFailover.json | 1 - .../ReplicationProtectedItems_Update.json | 1 - ...ationProtectedItems_UpdateMobilityService.json | 1 - 22 files changed, 13 insertions(+), 54 deletions(-) diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json index 02ed22b93aa1..e985e881d1e6 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_Get.json @@ -24,7 +24,7 @@ "instanceType": "HyperVReplicaAzure" }, "eventSpecificDetails": { - "instanceType": "JobStatusEventDetails" + "instanceType": "JobStatus" }, "healthErrors": [] } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json index 6c55ad86e9cc..b9649d1dd735 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationEvents_List.json @@ -25,7 +25,7 @@ "instanceType": "HyperVReplicaAzure" }, "eventSpecificDetails": { - "instanceType": "JobStatusEventDetails" + "instanceType": "JobStatus" }, "healthErrors": [ { @@ -53,7 +53,7 @@ "instanceType": "HyperVReplicaAzure" }, "eventSpecificDetails": { - "instanceType": "JobStatusEventDetails" + "instanceType": "JobStatus" }, "healthErrors": [] } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json index c74409dbbbf2..f59bef7d934b 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Cancel.json @@ -44,13 +44,7 @@ "RecoveryFabricProviderId": "Azure" } } - }, - "status": "Cancelling", - "error": { - "code": "538", - "message": "The job was canceled." - }, - "startTime": "2017-05-03T06:16:06.3235186Z" + } } }, "202": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json index de6c59153d42..ed6de8b50c36 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Export.json @@ -35,10 +35,7 @@ "instanceType": "ExportJobDetails", "affectedObjectDetails": {} } - }, - "status": "Succeeded", - "startTime": "2017-05-04T14:33:42.2765562Z", - "endTime": "2017-05-04T14:33:43Z" + } } }, "202": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json index 7ca1ef7ee8b1..d8e097605626 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Get.json @@ -29,7 +29,7 @@ "stateDescription": "Completed", "taskType": "TaskDetails", "customDetails": { - "instanceType": "TaskDetails" + "instanceType": "ManualActionTaskDetails" }, "errors": [] } @@ -51,10 +51,7 @@ "RecoveryFabricProviderId": "Azure" } } - }, - "status": "Succeeded", - "startTime": "2017-04-27T11:25:56.800358Z", - "endTime": "2017-04-27T11:25:57Z" + } } } } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json index d9ade46a28cd..31ec71c95b39 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_List.json @@ -25,10 +25,7 @@ "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", "targetObjectName": "protectionprofile1", "targetInstanceType": "ProtectionProfile" - }, - "status": "Succeeded", - "startTime": "2017-04-27T12:46:04.641851Z", - "endTime": "2017-04-27T12:46:11Z" + } }, { "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb", @@ -46,10 +43,7 @@ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com", "targetInstanceType": "Server" - }, - "status": "Succeeded", - "startTime": "2017-05-02T14:07:19.2784338Z", - "endTime": "2017-05-02T14:07:21Z" + } }, { "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1", @@ -67,10 +61,7 @@ "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", "targetObjectName": "cloud1", "targetInstanceType": "Server" - }, - "status": "Succeeded", - "startTime": "2017-05-02T05:56:14.569095Z", - "endTime": "2017-05-02T05:56:16Z" + } } ] } diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json index 34b490410e0c..00a0de9a95ec 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Restart.json @@ -29,7 +29,7 @@ "stateDescription": "Completed", "taskType": "TaskDetails", "customDetails": { - "instanceType": "TaskDetails" + "instanceType": "ManualActionTaskDetails" }, "errors": [] } @@ -45,10 +45,7 @@ "instanceType": "AsrJobDetails", "affectedObjectDetails": {} } - }, - "status": "Succeeded", - "startTime": "2017-05-03T10:45:12.1320757Z", - "endTime": "2017-05-03T10:45:14Z" + } } }, "202": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json index a095d5969bf9..55a030fff129 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationJobs_Resume.json @@ -68,10 +68,7 @@ "RecoveryFabricProviderId": "Azure" } } - }, - "status": "Suspended", - "startTime": "2017-04-25T09:57:57.0357829Z", - "endTime": "2017-04-25T09:59:12.0452175Z" + } } }, "202": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json index b6531af4cdb8..6dbccd5f951d 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json @@ -44,7 +44,6 @@ "ChangePit" ], "replicationHealth": "Critical", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json index 71bb31a9cf89..34395060a6d8 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Create.json @@ -45,7 +45,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json index 9f963abdc5e9..62b1cec83c0a 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_FailoverCommit.json @@ -35,7 +35,6 @@ "Failback" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json index dd516fd85f22..63c9ddec8554 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Get.json @@ -36,7 +36,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json index c3e3bfc965c3..fd68abc60dfe 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_List.json @@ -35,7 +35,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json index ba45645c0db5..67371b3e2555 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json @@ -37,7 +37,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json index 720290ba1e7f..1ea52d8ebc83 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_PlannedFailover.json @@ -44,7 +44,6 @@ "ChangePit" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json index 73d25cf5cc9d..ac86282e782a 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_RepairReplication.json @@ -36,7 +36,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json index 92514a4a0a41..600165568b94 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Reprotect.json @@ -44,7 +44,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json index 2425ce00f010..746bec8842e5 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailover.json @@ -44,7 +44,6 @@ "TestFailoverCleanup" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json index 0a27e8bc6ad8..7944066d0f73 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json @@ -41,7 +41,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json index ec75652938a3..4ddf509a3c5b 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UnplannedFailover.json @@ -45,7 +45,6 @@ "ChangePit" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json index d5bbb989f478..b6e8b63b1887 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_Update.json @@ -54,7 +54,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", "policyFriendlyName": "protectionprofile1", "currentScenario": { diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json index 16f71ba47b19..feb8f5e7909b 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/examples/ReplicationProtectedItems_UpdateMobilityService.json @@ -40,7 +40,6 @@ "TestFailover" ], "replicationHealth": "Normal", - "replicationHealthErrors": [], "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew", "policyFriendlyName": "MadhaviPolicyNew", "currentScenario": { From 345e327cf0ae9046da020b6d255a4e702bd1451e Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Fri, 9 Feb 2018 14:01:35 +0530 Subject: [PATCH 4/6] Reverting alphabetical ordering of operations and definitions for easier review. --- .../stable/2018-01-10/service.json | 15418 ++++++++-------- 1 file changed, 7709 insertions(+), 7709 deletions(-) diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json index bf730f52d989..0178e9e4e267 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -18,14 +18,14 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { "get": { "tags": [ - "Operations" + "TargetComputeSizes" ], - "summary": "Returns the list of available operations.", - "description": "Operation to return the list of available operations.", - "operationId": "Operations_List", + "summary": "Gets the list of target compute sizes for the replication protected item.", + "description": "Lists the available target compute sizes for a replication protected item.", + "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -33,18 +33,42 @@ { "$ref": "#/parameters/ApiVersion" }, + { + "$ref": "#/parameters/ResourceName" + }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationsDiscoveryCollection" + "$ref": "#/definitions/TargetComputeSizeCollection" } } }, @@ -52,20 +76,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Returns the list of available operations.": { - "$ref": "./examples/Operations_List.json" + "Gets the list of target compute sizes for the replication protected item.": { + "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { "get": { "tags": [ - "ReplicationAlertSettings" + "ReplicationProtectedItems" ], - "summary": "Gets the list of configured email notification(alert) configurations.", - "description": "Gets the list of email notification(alert) configurations for the vault.", - "operationId": "ReplicationAlertSettings_List", + "summary": "Gets the list of Replication protected items.", + "description": "Gets the list of ASR replication protected items in the protection container.", + "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -81,13 +105,27 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AlertCollection" + "$ref": "#/definitions/ReplicationProtectedItemCollection" } } }, @@ -95,20 +133,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of configured email notification(alert) configurations.": { - "$ref": "./examples/ReplicationAlertSettings_List.json" + "Gets the list of Replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { "get": { "tags": [ - "ReplicationAlertSettings" + "ReplicationProtectedItems" ], - "summary": "Gets an email notification(alert) configuration.", - "description": "Gets the details of the specified email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Get", + "summary": "Gets the list of replication protected items.", + "description": "Gets the list of ASR replication protected items in the vault.", + "operationId": "ReplicationProtectedItems_List", "produces": [ "application/json" ], @@ -126,10 +164,17 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "alertSettingName", - "in": "path", - "description": "The name of the email notification configuration.", - "required": true, + "name": "skipToken", + "in": "query", + "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -137,26 +182,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Alert" + "$ref": "#/definitions/ReplicationProtectedItemCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", "x-ms-examples": { - "Gets an email notification(alert) configuration.": { - "$ref": "./examples/ReplicationAlertSettings_Get.json" + "Gets the list of replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_List.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { + "get": { "tags": [ - "ReplicationAlertSettings" - ], - "summary": "Configures email notifications for this vault.", - "description": "Create or update an email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Create", - "consumes": [ - "application/json" + "ReplicationProtectionContainerMappings" ], + "summary": "Gets the list of protection container mappings for a protection container.", + "description": "Lists the protection container mappings for a protection container.", + "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -174,45 +222,46 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "alertSettingName", + "name": "fabricName", "in": "path", - "description": "The name of the email notification(alert) configuration.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "request", - "in": "body", - "description": "The input to configure the email notification(alert).", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, - "schema": { - "$ref": "#/definitions/ConfigureAlertRequest" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Alert" + "$ref": "#/definitions/ProtectionContainerMappingCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Configures email notifications for this vault.": { - "$ref": "./examples/ReplicationAlertSettings_Create.json" + "Gets the list of protection container mappings for a protection container.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { "get": { "tags": [ - "ReplicationEvents" + "ReplicationProtectionContainerMappings" ], - "summary": "Gets the list of Azure Site Recovery events.", - "description": "Gets the list of Azure Site Recovery events for the vault.", - "operationId": "ReplicationEvents_List", + "summary": "Gets the list of all protection container mappings in a vault.", + "description": "Lists the protection container mappings in the vault.", + "operationId": "ReplicationProtectionContainerMappings_List", "produces": [ "application/json" ], @@ -228,30 +277,22 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventCollection" + "$ref": "#/definitions/ProtectionContainerMappingCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/EventQueryParameter", "x-ms-examples": { - "Gets the list of Azure Site Recovery events.": { - "$ref": "./examples/ReplicationEvents_List.json" + "Gets the list of all protection container mappings in a vault.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" } } } @@ -303,14 +344,14 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { "get": { "tags": [ - "ReplicationFabrics" + "ReplicationEvents" ], - "summary": "Gets the list of ASR fabrics", - "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", - "operationId": "ReplicationFabrics_List", + "summary": "Gets the list of Azure Site Recovery events.", + "description": "Gets the list of Azure Site Recovery events for the vault.", + "operationId": "ReplicationEvents_List", "produces": [ "application/json" ], @@ -326,34 +367,41 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/FabricCollection" + "$ref": "#/definitions/EventCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, + "x-ms-odata": "#/definitions/EventQueryParameter", "x-ms-examples": { - "Gets the list of ASR fabrics": { - "$ref": "./examples/ReplicationFabrics_List.json" + "Gets the list of Azure Site Recovery events.": { + "$ref": "./examples/ReplicationEvents_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { + "post": { "tags": [ - "ReplicationFabrics" + "ReplicationVaultHealth" ], - "summary": "Gets the details of an ASR fabric.", - "description": "Gets the details of an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Get", + "summary": "Refreshes health summary of the vault.", + "operationId": "ReplicationVaultHealth_Refresh", "produces": [ "application/json" ], @@ -369,39 +417,35 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VaultHealthDetails" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of an ASR fabric.": { - "$ref": "./examples/ReplicationFabrics_Get.json" + "Refreshes health summary of the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Refresh.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { + "get": { "tags": [ - "ReplicationFabrics" - ], - "summary": "Creates an Azure Site Recovery fabric.", - "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", - "operationId": "ReplicationFabrics_Create", - "consumes": [ - "application/json" + "ReplicationVaultHealth" ], + "summary": "Gets the health summary for the vault.", + "description": "Gets the health details of the vault.", + "operationId": "ReplicationVaultHealth_Get", "produces": [ "application/json" ], @@ -417,49 +461,31 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Name of the ASR fabric.", - "required": true, - "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Fabric creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/FabricCreationInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VaultHealthDetails" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates an Azure Site Recovery fabric.": { - "$ref": "./examples/ReplicationFabrics_Create.json" + "Gets the health summary for the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Get.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationNetworkMappings" ], - "summary": "Purges the site.", - "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Purge", + "summary": "Gets all the network mappings under a vault.", + "description": "Lists all ASR network mappings in the vault.", + "operationId": "ReplicationNetworkMappings_List", "produces": [ "application/json" ], @@ -475,39 +501,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "ASR fabric to purge.", - "required": true, - "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Purges the site.": { - "$ref": "./examples/ReplicationFabrics_Purge.json" + "Gets all the network mappings under a vault.": { + "$ref": "./examples/ReplicationNetworkMappings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationNetworkMappings" ], - "summary": "Checks the consistency of the ASR fabric.", - "description": "The operation to perform a consistency check on the fabric.", - "operationId": "ReplicationFabrics_CheckConsistency", + "summary": "Gets all the network mappings under a network.", + "description": "Lists all ASR network mappings for the specified network.", + "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", "produces": [ "application/json" ], @@ -527,7 +548,14 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", "required": true, "type": "string" } @@ -536,17 +564,16 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/NetworkMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Checks the consistency of the ASR fabric.": { - "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" + "Gets all the network mappings under a network.": { + "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" } } } @@ -599,14 +626,14 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { "post": { "tags": [ "ReplicationFabrics" ], - "summary": "Perform failover of the process server.", - "description": "The operation to move replications from a process server to another process server.", - "operationId": "ReplicationFabrics_ReassociateGateway", + "summary": "Renews certificate for the fabric.", + "description": "Renews the connection certificate for the ASR replication fabric.", + "operationId": "ReplicationFabrics_RenewCertificate", "consumes": [ "application/json" ], @@ -629,17 +656,17 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric containing the process server.", + "description": "fabric name to renew certs for.", "required": true, "type": "string" }, { - "name": "failoverProcessServerRequest", + "name": "renewCertificate", "in": "body", - "description": "The input to the failover process server operation.", + "description": "Renew certificate input.", "required": true, "schema": { - "$ref": "#/definitions/FailoverProcessServerRequest" + "$ref": "#/definitions/RenewCertificateInput" } } ], @@ -656,20 +683,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Perform failover of the process server.": { - "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" + "Renews certificate for the fabric.": { + "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationvCenters" ], - "summary": "Deletes the site.", - "description": "The operation to delete or remove an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Delete", + "summary": "Gets the details of a vCenter.", + "description": "Gets the details of a registered vCenter server(Add vCenter server.)", + "operationId": "ReplicationvCenters_Get", "produces": [ "application/json" ], @@ -689,35 +716,39 @@ { "name": "fabricName", "in": "path", - "description": "ASR fabric to delete", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes the site.": { - "$ref": "./examples/ReplicationFabrics_Delete.json" + "Gets the details of a vCenter.": { + "$ref": "./examples/ReplicationvCenters_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { - "post": { + }, + "put": { "tags": [ - "ReplicationFabrics" + "ReplicationvCenters" ], - "summary": "Renews certificate for the fabric.", - "description": "Renews the connection certificate for the ASR replication fabric.", - "operationId": "ReplicationFabrics_RenewCertificate", + "summary": "Add vCenter.", + "description": "The operation to create a vCenter object..", + "operationId": "ReplicationvCenters_Create", "consumes": [ "application/json" ], @@ -740,17 +771,24 @@ { "name": "fabricName", "in": "path", - "description": "fabric name to renew certs for.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "renewCertificate", + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", + "required": true, + "type": "string" + }, + { + "name": "addVCenterRequest", "in": "body", - "description": "Renew certificate input.", + "description": "The input to the add vCenter operation.", "required": true, "schema": { - "$ref": "#/definitions/RenewCertificateInput" + "$ref": "#/definitions/AddVCenterRequest" } } ], @@ -758,7 +796,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VCenter" } }, "202": { @@ -767,20 +805,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Renews certificate for the fabric.": { - "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" + "Add vCenter.": { + "$ref": "./examples/ReplicationvCenters_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { - "get": { + }, + "delete": { "tags": [ - "ReplicationLogicalNetworks" + "ReplicationvCenters" ], - "summary": "Gets the list of logical networks under a fabric.", - "description": "Lists all the logical networks of the Azure Site Recovery fabric", - "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", + "summary": "Remove vCenter operation.", + "description": "The operation to remove(unregister) a registered vCenter server from the vault.", + "operationId": "ReplicationvCenters_Delete", "produces": [ "application/json" ], @@ -800,37 +836,43 @@ { "name": "fabricName", "in": "path", - "description": "Server Id.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vCenterName", + "in": "path", + "description": "vCenter name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LogicalNetworkCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of logical networks under a fabric.": { - "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" + "Remove vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { - "get": { + }, + "patch": { "tags": [ - "ReplicationLogicalNetworks" + "ReplicationvCenters" + ], + "summary": "Update vCenter operation.", + "description": "The operation to update a registered vCenter.", + "operationId": "ReplicationvCenters_Update", + "consumes": [ + "application/json" ], - "summary": "Gets a logical network with specified server id and logical network name.", - "description": "Gets the details of a logical network.", - "operationId": "ReplicationLogicalNetworks_Get", "produces": [ "application/json" ], @@ -850,41 +892,54 @@ { "name": "fabricName", "in": "path", - "description": "Server Id.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "logicalNetworkName", + "name": "vCenterName", "in": "path", - "description": "Logical network name.", + "description": "vCeneter name", "required": true, "type": "string" + }, + { + "name": "updateVCenterRequest", + "in": "body", + "description": "The input to the update vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateVCenterRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogicalNetwork" + "$ref": "#/definitions/VCenter" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a logical network with specified server id and logical network name.": { - "$ref": "./examples/ReplicationLogicalNetworks_Get.json" + "Update vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { "get": { "tags": [ - "ReplicationNetworks" + "ReplicationvCenters" ], - "summary": "Gets the list of networks under a fabric.", - "description": "Lists the networks available for a fabric.", - "operationId": "ReplicationNetworks_ListByReplicationFabrics", + "summary": "Gets the list of vCenter registered under a fabric.", + "description": "Lists the vCenter servers registered in a fabric.", + "operationId": "ReplicationvCenters_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -904,7 +959,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name", + "description": "Fabric name.", "required": true, "type": "string" } @@ -913,7 +968,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkCollection" + "$ref": "#/definitions/VCenterCollection" } } }, @@ -921,74 +976,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of networks under a fabric.": { - "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { - "get": { - "tags": [ - "ReplicationNetworks" - ], - "summary": "Gets a network with specified server id and network name.", - "description": "Gets the details of a network.", - "operationId": "ReplicationNetworks_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Server Id.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Network" - } - } - }, - "x-ms-examples": { - "Gets a network with specified server id and network name.": { - "$ref": "./examples/ReplicationNetworks_Get.json" + "Gets the list of vCenter registered under a fabric.": { + "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationvCenters" ], - "summary": "Gets all the network mappings under a network.", - "description": "Lists all ASR network mappings for the specified network.", - "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", + "summary": "Gets the list of vCenter registered under the vault.", + "description": "Lists the vCenter servers registered in the vault.", + "operationId": "ReplicationvCenters_List", "produces": [ "application/json" ], @@ -1004,27 +1005,13 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMappingCollection" + "$ref": "#/definitions/VCenterCollection" } } }, @@ -1032,20 +1019,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets all the network mappings under a network.": { - "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" + "Gets the list of vCenter registered under the vault.": { + "$ref": "./examples/ReplicationvCenters_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationStorageClassificationMappings" ], - "summary": "Gets network mapping by name.", - "description": "Gets the details of an ASR network mapping", - "operationId": "ReplicationNetworkMappings_Get", + "summary": "Gets the details of a storage classification mapping.", + "description": "Gets the details of the specified storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Get", "produces": [ "application/json" ], @@ -1065,21 +1052,21 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkName", + "name": "storageClassificationName", "in": "path", - "description": "Primary network name.", + "description": "Storage classification name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "storageClassificationMappingName", "in": "path", - "description": "Network mapping name.", + "description": "Storage classification mapping name.", "required": true, "type": "string" } @@ -1088,23 +1075,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/StorageClassificationMapping" } } }, "x-ms-examples": { - "Gets network mapping by name.": { - "$ref": "./examples/ReplicationNetworkMappings_Get.json" + "Gets the details of a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" } } }, "put": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationStorageClassificationMappings" ], - "summary": "Creates network mapping.", - "description": "The operation to create an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Create", + "summary": "Create storage classification mapping.", + "description": "The operation to create a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Create", "consumes": [ "application/json" ], @@ -1127,31 +1114,31 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkName", + "name": "storageClassificationName", "in": "path", - "description": "Primary network name.", + "description": "Storage classification name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "storageClassificationMappingName", "in": "path", - "description": "Network mapping name.", + "description": "Storage classification mapping name.", "required": true, "type": "string" }, { - "name": "input", + "name": "pairingInput", "in": "body", - "description": "Create network mapping input.", + "description": "Pairing input.", "required": true, "schema": { - "$ref": "#/definitions/CreateNetworkMappingInput" + "$ref": "#/definitions/StorageClassificationMappingInput" } } ], @@ -1159,7 +1146,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/StorageClassificationMapping" } }, "202": { @@ -1168,18 +1155,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Create.json" + "Create storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" } } }, "delete": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationStorageClassificationMappings" ], - "summary": "Delete network mapping.", - "description": "The operation to delete a network mapping.", - "operationId": "ReplicationNetworkMappings_Delete", + "summary": "Delete a storage classification mapping.", + "description": "The operation to delete a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Delete", "produces": [ "application/json" ], @@ -1199,21 +1186,21 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkName", + "name": "storageClassificationName", "in": "path", - "description": "Primary network name.", + "description": "Storage classification name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "storageClassificationMappingName", "in": "path", - "description": "ARM Resource Name for network mapping.", + "description": "Storage classification mapping name.", "required": true, "type": "string" } @@ -1228,21 +1215,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Delete.json" + "Delete a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { + "get": { "tags": [ - "ReplicationNetworkMappings" - ], - "summary": "Updates network mapping.", - "description": "The operation to update an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Update", - "consumes": [ - "application/json" + "ReplicationStorageClassificationMappings" ], + "summary": "Gets the list of storage classification mappings objects under a storage.", + "description": "Lists the storage classification mappings for the fabric.", + "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", "produces": [ "application/json" ], @@ -1262,61 +1248,44 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "storageClassificationName", "in": "path", - "description": "Network mapping name.", + "description": "Storage classfication name.", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Update network mapping input.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateNetworkMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/StorageClassificationMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Updates network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Update.json" + "Gets the list of storage classification mappings objects under a storage.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { "get": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassificationMappings" ], - "summary": "Gets the list of protection container for a fabric.", - "description": "Lists the protection containers in the specified fabric.", - "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", + "summary": "Gets the list of storage classification mappings objects under a vault.", + "description": "Lists the storage classification mappings in the vault.", + "operationId": "ReplicationStorageClassificationMappings_List", "produces": [ "application/json" ], @@ -1332,20 +1301,13 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" + "$ref": "#/definitions/StorageClassificationMappingCollection" } } }, @@ -1353,20 +1315,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of protection container for a fabric.": { - "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" + "Gets the list of storage classification mappings objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { "get": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassifications" ], - "summary": "Gets the protection container details.", - "description": "Gets the details of a protection container.", - "operationId": "ReplicationProtectionContainers_Get", + "summary": "Gets the details of a storage classification.", + "description": "Gets the details of the specified storage classification.", + "operationId": "ReplicationStorageClassifications_Get", "produces": [ "application/json" ], @@ -1391,9 +1353,9 @@ "type": "string" }, { - "name": "protectionContainerName", + "name": "storageClassificationName", "in": "path", - "description": "Protection container name.", + "description": "Storage classification name.", "required": true, "type": "string" } @@ -1402,26 +1364,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassification" } } }, "x-ms-examples": { - "Gets the protection container details.": { - "$ref": "./examples/ReplicationProtectionContainers_Get.json" + "Gets the details of a storage classification.": { + "$ref": "./examples/ReplicationStorageClassifications_Get.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "get": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Create a protection container.", - "description": "Operation to create a protection container.", - "operationId": "ReplicationProtectionContainers_Create", - "consumes": [ - "application/json" + "ReplicationStorageClassifications" ], + "summary": "Gets the list of storage classification objects under a fabric.", + "description": "Lists the storage classifications available in the specified fabric.", + "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1441,57 +1402,37 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Unique protection container ARM name.", + "description": "Site name of interest.", "required": true, "type": "string" - }, - { - "name": "creationInput", - "in": "body", - "description": "Creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/CreateProtectionContainerInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Create a protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_Create.json" + "Gets the list of storage classification objects under a fabric.": { + "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "get": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Adds a protectable item to the replication protection container.", - "description": "The operation to a add a protectable item to a protection container(Add physical server.)", - "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", - "consumes": [ - "application/json" + "ReplicationStorageClassifications" ], + "summary": "Gets the list of storage classification objects under a vault.", + "description": "Lists the storage classifications in the vault.", + "operationId": "ReplicationStorageClassifications_List", "produces": [ "application/json" ], @@ -1507,58 +1448,37 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "The name of the fabric.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "The name of the protection container.", - "required": true, - "type": "string" - }, - { - "name": "discoverProtectableItemRequest", - "in": "body", - "description": "The request object to add a protectable item.", - "required": true, - "schema": { - "$ref": "#/definitions/DiscoverProtectableItemRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Adds a protectable item to the replication protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" + "Gets the list of storage classification objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassifications_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationProtectedItems" + ], + "summary": "Change or apply recovery point.", + "description": "The operation to change the recovery point of a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "consumes": [ + "application/json" ], - "summary": "Removes a protection container.", - "description": "Operation to remove a protection container.", - "operationId": "ReplicationProtectionContainers_Delete", "produces": [ "application/json" ], @@ -1578,42 +1498,61 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", + "description": "The ARM fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Unique protection container ARM name.", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replicated protected item's name.", "required": true, "type": "string" + }, + { + "name": "applyRecoveryPointInput", + "in": "body", + "description": "The ApplyRecoveryPointInput.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplyRecoveryPointInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Removes a protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_Delete.json" + "Change or apply recovery point.": { + "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "post": { "tags": [ - "ReplicationProtectableItems" + "ReplicationProtectedItems" ], - "summary": "Gets the list of protectable items.", - "description": "Lists the protectable items in a protection container.", - "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", + "summary": "Resynchronize or repair replication.", + "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", + "operationId": "ReplicationProtectedItems_RepairReplication", "produces": [ "application/json" ], @@ -1633,14 +1572,21 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The name of the fabric.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The name of the container.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The name of the replication protected item.", "required": true, "type": "string" } @@ -1649,28 +1595,32 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItemCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of protectable items.": { - "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" + "Resynchronize or repair replication.": { + "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { + "post": { "tags": [ - "ReplicationProtectableItems" + "ReplicationProtectedItems" + ], + "summary": "Update the mobility service on a protected item.", + "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", + "operationId": "ReplicationProtectedItems_UpdateMobilityService", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a protectable item.", - "description": "The operation to get the details of a protectable item.", - "operationId": "ReplicationProtectableItems_Get", "produces": [ "application/json" ], @@ -1690,48 +1640,64 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The name of the fabric containing the protected item.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The name of the container containing the protected item.", "required": true, "type": "string" }, { - "name": "protectableItemName", + "name": "replicationProtectedItemName", "in": "path", - "description": "Protectable item name.", + "description": "The name of the protected item on which the agent is to be updated.", "required": true, "type": "string" + }, + { + "name": "updateMobilityServiceRequest", + "in": "body", + "description": "Request to update the mobility service on the protected item.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMobilityServiceRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItem" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a protectable item.": { - "$ref": "./examples/ReplicationProtectableItems_Get.json" + "Update the mobility service on a protected item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Gets the list of Replication protected items.", - "description": "Gets the list of ASR replication protected items in the protection container.", - "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", + "summary": "Execute Reverse Replication\\Reprotect", + "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_Reprotect", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1751,7 +1717,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -1761,34 +1727,51 @@ "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "rrInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/ReverseReplicationInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of Replication protected items.": { - "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" + "Execute Reverse Replication\\Reprotect": { + "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Gets the details of a Replication protected item.", - "description": "Gets the details of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Get", + "summary": "Execute commit failover", + "description": "Operation to commit the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCommit", "produces": [ "application/json" ], @@ -1808,7 +1791,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric unique name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -1833,21 +1816,27 @@ "schema": { "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a Replication protected item.": { - "$ref": "./examples/ReplicationProtectedItems_Get.json" + "Execute commit failover": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Enables protection.", - "description": "The operation to create an ASR replication protected item (Enable replication).", - "operationId": "ReplicationProtectedItems_Create", + "summary": "Execute test failover cleanup.", + "description": "Operation to clean up the test failover of a replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailoverCleanup", "consumes": [ "application/json" ], @@ -1870,7 +1859,7 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -1884,17 +1873,17 @@ { "name": "replicatedProtectedItemName", "in": "path", - "description": "A name for the replication protected item.", + "description": "Replication protected item name.", "required": true, "type": "string" }, { - "name": "input", + "name": "cleanupInput", "in": "body", - "description": "Enable Protection Input.", + "description": "Test failover cleanup input.", "required": true, "schema": { - "$ref": "#/definitions/EnableProtectionInput" + "$ref": "#/definitions/TestFailoverCleanupInput" } } ], @@ -1911,18 +1900,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Enables protection.": { - "$ref": "./examples/ReplicationProtectedItems_Create.json" + "Execute test failover cleanup.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Purges protection.", - "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", - "operationId": "ReplicationProtectedItems_Purge", + "summary": "Execute test failover", + "description": "Operation to perform a test failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailover", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1942,7 +1936,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -1959,30 +1953,44 @@ "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Purges protection.": { - "$ref": "./examples/ReplicationProtectedItems_Purge.json" + "Execute test failover": { + "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Updates protection.", - "description": "The operation to update the recovery settings of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Update", + "summary": "Execute unplanned failover", + "description": "Operation to initiate a failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_UnplannedFailover", "consumes": [ "application/json" ], @@ -2005,7 +2013,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -2024,12 +2032,12 @@ "type": "string" }, { - "name": "updateProtectionInput", + "name": "failoverInput", "in": "body", - "description": "Update protection input.", + "description": "Disable protection input.", "required": true, "schema": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInput" + "$ref": "#/definitions/UnplannedFailoverInput" } } ], @@ -2046,20 +2054,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates protection.": { - "$ref": "./examples/ReplicationProtectedItems_Update.json" + "Execute unplanned failover": { + "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Change or apply recovery point.", - "description": "The operation to change the recovery point of a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "summary": "Execute planned failover", + "description": "Operation to initiate a planned failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_PlannedFailover", "consumes": [ "application/json" ], @@ -2082,31 +2090,31 @@ { "name": "fabricName", "in": "path", - "description": "The ARM fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "The replicated protected item's name.", + "description": "Replication protected item name.", "required": true, "type": "string" }, { - "name": "applyRecoveryPointInput", + "name": "failoverInput", "in": "body", - "description": "The ApplyRecoveryPointInput.", + "description": "Disable protection input.", "required": true, "schema": { - "$ref": "#/definitions/ApplyRecoveryPointInput" + "$ref": "#/definitions/PlannedFailoverInput" } } ], @@ -2123,20 +2131,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Change or apply recovery point.": { - "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" + "Execute planned failover": { + "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute commit failover", - "description": "Operation to commit the failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_FailoverCommit", + "summary": "Disables protection.", + "description": "The operation to disable replication on a replication protected item. This will also remove the item.", + "operationId": "ReplicationProtectedItems_Delete", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -2156,7 +2167,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -2173,38 +2184,41 @@ "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "disableProtectionInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/DisableProtectionInput" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute commit failover": { - "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" + "Disables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { + "get": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute planned failover", - "description": "Operation to initiate a planned failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_PlannedFailover", - "consumes": [ - "application/json" - ], + "summary": "Gets the details of a Replication protected item.", + "description": "Gets the details of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Get", "produces": [ "application/json" ], @@ -2224,7 +2238,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric unique name.", "required": true, "type": "string" }, @@ -2241,15 +2255,6 @@ "description": "Replication protected item name.", "required": true, "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/PlannedFailoverInput" - } } ], "responses": { @@ -2258,27 +2263,24 @@ "schema": { "$ref": "#/definitions/ReplicationProtectedItem" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover": { - "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" + "Gets the details of a Replication protected item.": { + "$ref": "./examples/ReplicationProtectedItems_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { - "get": { + }, + "put": { "tags": [ - "RecoveryPoints" + "ReplicationProtectedItems" + ], + "summary": "Enables protection.", + "description": "The operation to create an ASR replication protected item (Enable replication).", + "operationId": "ReplicationProtectedItems_Create", + "consumes": [ + "application/json" ], - "summary": "Get recovery points for a replication protected item.", - "description": "Lists the available recovery points for a replication protected item.", - "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -2298,51 +2300,59 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Name of the fabric.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "The replication protected item's name.", + "description": "A name for the replication protected item.", "required": true, "type": "string" - } - ], - "responses": { - "200": { + }, + { + "name": "input", + "in": "body", + "description": "Enable Protection Input.", + "required": true, + "schema": { + "$ref": "#/definitions/EnableProtectionInput" + } + } + ], + "responses": { + "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get recovery points for a replication protected item.": { - "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" + "Enables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { - "get": { + }, + "delete": { "tags": [ - "RecoveryPoints" + "ReplicationProtectedItems" ], - "summary": "Get a recovery point.", - "description": "Get the details of specified recovery point.", - "operationId": "RecoveryPoints_Get", + "summary": "Purges protection.", + "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", + "operationId": "ReplicationProtectedItems_Purge", "produces": [ "application/json" ], @@ -2362,55 +2372,47 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "The replication protected item's name.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointName", - "in": "path", - "description": "The recovery point name.", + "description": "Replication protected item name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPoint" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get a recovery point.": { - "$ref": "./examples/RecoveryPoints_Get.json" + "Purges protection.": { + "$ref": "./examples/ReplicationProtectedItems_Purge.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { - "post": { + }, + "patch": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Disables protection.", - "description": "The operation to disable replication on a replication protected item. This will also remove the item.", - "operationId": "ReplicationProtectedItems_Delete", + "summary": "Updates protection.", + "description": "The operation to update the recovery settings of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Update", "consumes": [ "application/json" ], @@ -2452,39 +2454,42 @@ "type": "string" }, { - "name": "disableProtectionInput", + "name": "updateProtectionInput", "in": "body", - "description": "Disable protection input.", + "description": "Update protection input.", "required": true, "schema": { - "$ref": "#/definitions/DisableProtectionInput" + "$ref": "#/definitions/UpdateReplicationProtectedItemInput" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Disables protection.": { - "$ref": "./examples/ReplicationProtectedItems_Delete.json" + "Updates protection.": { + "$ref": "./examples/ReplicationProtectedItems_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { "post": { "tags": [ - "ReplicationProtectedItems" + "ReplicationRecoveryServicesProviders" ], - "summary": "Resynchronize or repair replication.", - "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", - "operationId": "ReplicationProtectedItems_RepairReplication", + "summary": "Refresh details from the recovery services provider.", + "description": "The operation to refresh the information from the recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", "produces": [ "application/json" ], @@ -2504,21 +2509,14 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "The name of the container.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "providerName", "in": "path", - "description": "The name of the replication protected item.", + "description": "Recovery services provider name.", "required": true, "type": "string" } @@ -2527,7 +2525,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/RecoveryServicesProvider" } }, "202": { @@ -2536,23 +2534,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Resynchronize or repair replication.": { - "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" + "Refresh details from the recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { "post": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute Reverse Replication\\Reprotect", - "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_Reprotect", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", + "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", + "operationId": "ReplicationRecoveryServicesProviders_Delete", "produces": [ "application/json" ], @@ -2572,61 +2567,42 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "providerName", "in": "path", - "description": "Replication protected item name.", + "description": "Recovery services provider name.", "required": true, "type": "string" - }, - { - "name": "rrInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/ReverseReplicationInput" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute Reverse Replication\\Reprotect": { - "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" + "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { "get": { "tags": [ - "TargetComputeSizes" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets the list of target compute sizes for the replication protected item.", - "description": "Lists the available target compute sizes for a replication protected item.", - "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", + "summary": "Gets the details of a recovery services provider.", + "description": "Gets the details of registered recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Get", "produces": [ "application/json" ], @@ -2651,16 +2627,9 @@ "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", + "name": "providerName", "in": "path", - "description": "Replication protected item name.", + "description": "Recovery services provider name", "required": true, "type": "string" } @@ -2669,31 +2638,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TargetComputeSizeCollection" + "$ref": "#/definitions/RecoveryServicesProvider" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of target compute sizes for the replication protected item.": { - "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" + "Gets the details of a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { - "post": { + }, + "delete": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute test failover", - "description": "Operation to perform a test failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailover", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Purges recovery service provider from fabric", + "description": "The operation to purge(force delete) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Purge", "produces": [ "application/json" ], @@ -2713,64 +2674,42 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "providerName", "in": "path", - "description": "Replication protected item name.", + "description": "Recovery services provider name.", "required": true, "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Test failover input.", - "required": true, - "schema": { - "$ref": "#/definitions/TestFailoverInput" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover": { - "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" + "Purges recovery service provider from fabric": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute test failover cleanup.", - "description": "Operation to clean up the test failover of a replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailoverCleanup", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Gets the list of registered recovery services providers for the fabric.", + "description": "Lists the registered recovery services providers for the specified fabric.", + "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -2790,64 +2729,37 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", + "description": "Fabric name", "required": true, "type": "string" - }, - { - "name": "cleanupInput", - "in": "body", - "description": "Test failover cleanup input.", - "required": true, - "schema": { - "$ref": "#/definitions/TestFailoverCleanupInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/RecoveryServicesProviderCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute test failover cleanup.": { - "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" + "Gets the list of registered recovery services providers for the fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute unplanned failover", - "description": "Operation to initiate a failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_UnplannedFailover", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", + "description": "Lists the registered recovery services providers in the vault", + "operationId": "ReplicationRecoveryServicesProviders_List", "produces": [ "application/json" ], @@ -2863,68 +2775,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", - "required": true, - "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/UnplannedFailoverInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/RecoveryServicesProviderCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute unplanned failover": { - "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" + "Gets the list of registered recovery services providers in the vault. This is a view only api.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Update the mobility service on a protected item.", - "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", - "operationId": "ReplicationProtectedItems_UpdateMobilityService", - "consumes": [ - "application/json" + "RecoveryPoints" ], + "summary": "Get a recovery point.", + "description": "Get the details of specified recovery point.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -2944,61 +2822,55 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric containing the protected item.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The name of the container containing the protected item.", + "description": "The protection container name.", "required": true, "type": "string" }, { - "name": "replicationProtectedItemName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "The name of the protected item on which the agent is to be updated.", + "description": "The replication protected item's name.", "required": true, "type": "string" }, { - "name": "updateMobilityServiceRequest", - "in": "body", - "description": "Request to update the mobility service on the protected item.", + "name": "recoveryPointName", + "in": "path", + "description": "The recovery point name.", "required": true, - "schema": { - "$ref": "#/definitions/UpdateMobilityServiceRequest" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Update the mobility service on a protected item.": { - "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" + "Get a recovery point.": { + "$ref": "./examples/RecoveryPoints_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { "get": { "tags": [ - "ReplicationProtectionContainerMappings" + "RecoveryPoints" ], - "summary": "Gets the list of protection container mappings for a protection container.", - "description": "Lists the protection container mappings for a protection container.", - "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", + "summary": "Get recovery points for a replication protected item.", + "description": "Lists the available recovery points for a replication protected item.", + "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -3018,14 +2890,21 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item's name.", "required": true, "type": "string" } @@ -3034,7 +2913,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/RecoveryPointCollection" } } }, @@ -3042,20 +2921,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of protection container mappings for a protection container.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" + "Get recovery points for a replication protected item.": { + "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationRecoveryPlans" ], - "summary": "Gets a protection container mapping/", - "description": "Gets the details of a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Get", + "summary": "Execute reprotect of the recovery plan.", + "description": "The operation to reprotect(reverse replicate) a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Reprotect", "produces": [ "application/json" ], @@ -3073,23 +2952,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "recoveryPlanName", "in": "path", - "description": "Protection Container mapping name.", + "description": "Recovery plan name.", "required": true, "type": "string" } @@ -3098,26 +2963,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/RecoveryPlan" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a protection container mapping/": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" + "Execute reprotect of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" - ], - "summary": "Create protection container mapping.", - "description": "The operation to create a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Create", - "consumes": [ - "application/json" + "ReplicationRecoveryPlans" ], + "summary": "Execute commit failover of the recovery plan.", + "description": "The operation to commit the fail over of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCommit", "produces": [ "application/json" ], @@ -3135,42 +3003,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "Fabric name.", + "description": "Recovery plan name.", "required": true, "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", - "in": "path", - "description": "Protection container mapping name.", - "required": true, - "type": "string" - }, - { - "name": "creationInput", - "in": "body", - "description": "Mapping creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/CreateProtectionContainerMappingInput" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" - } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } }, "202": { "description": "Accepted" @@ -3178,18 +3023,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" + "Execute commit failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover cleanup of the recovery plan.", + "description": "The operation to cleanup test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", + "consumes": [ + "application/json" ], - "summary": "Purge protection container mapping.", - "description": "The operation to purge(force delete) a protection container mapping", - "operationId": "ReplicationProtectionContainerMappings_Purge", "produces": [ "application/json" ], @@ -3207,51 +3057,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", + "name": "recoveryPlanName", "in": "path", - "description": "Protection container name.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "mappingName", - "in": "path", - "description": "Protection container mapping name.", + "name": "input", + "in": "body", + "description": "Test failover cleanup input.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Purge protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" + "Execute test failover cleanup of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationRecoveryPlans" ], - "summary": "Remove protection container mapping.", - "description": "The operation to delete or remove a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Delete", + "summary": "Execute test failover of the recovery plan.", + "description": "The operation to start the test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailover", "consumes": [ "application/json" ], @@ -3272,60 +3120,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "recoveryPlanName", "in": "path", - "description": "Protection container mapping name.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "removalInput", + "name": "input", "in": "body", - "description": "Removal input.", + "description": "Failover input.", "required": true, "schema": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + "$ref": "#/definitions/RecoveryPlanTestFailoverInput" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Remove protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" + "Execute test failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationRecoveryPlans" ], - "summary": "Switches protection from one container to another or one replication provider to another.", - "description": "Operation to switch protection from one container to another or one replication provider to another.", - "operationId": "ReplicationProtectionContainers_SwitchProtection", + "summary": "Execute unplanned failover of the recovery plan.", + "description": "The operation to start the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_UnplannedFailover", "consumes": [ "application/json" ], @@ -3346,26 +3183,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", + "name": "recoveryPlanName", "in": "path", - "description": "Protection container name.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "switchInput", + "name": "input", "in": "body", - "description": "Switch protection input.", + "description": "Failover input.", "required": true, "schema": { - "$ref": "#/definitions/SwitchProtectionInput" + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" } } ], @@ -3373,7 +3203,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -3382,20 +3212,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Switches protection from one container to another or one replication provider to another.": { - "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" + "Execute unplanned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationRecoveryPlans" + ], + "summary": "Execute planned failover of the recovery plan.", + "description": "The operation to start the planned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "consumes": [ + "application/json" ], - "summary": "Gets the list of registered recovery services providers for the fabric.", - "description": "Lists the registered recovery services providers for the specified fabric.", - "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -3413,39 +3246,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "Fabric name", + "description": "Recovery plan name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" + "$ref": "#/definitions/RecoveryPlan" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of registered recovery services providers for the fabric.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" + "Execute planned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { "get": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationRecoveryPlans" ], - "summary": "Gets the details of a recovery services provider.", - "description": "Gets the details of registered recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_Get", + "summary": "Gets the requested recovery plan.", + "description": "Gets the details of the recovery plan.", + "operationId": "ReplicationRecoveryPlans_Get", "produces": [ "application/json" ], @@ -3463,16 +3306,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "providerName", + "name": "recoveryPlanName", "in": "path", - "description": "Recovery services provider name", + "description": "Name of the recovery plan.", "required": true, "type": "string" } @@ -3481,23 +3317,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/RecoveryPlan" } } }, "x-ms-examples": { - "Gets the details of a recovery services provider.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" + "Gets the requested recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Get.json" } } }, - "delete": { + "put": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationRecoveryPlans" + ], + "summary": "Creates a recovery plan with the given details.", + "description": "The operation to create a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Create", + "consumes": [ + "application/json" ], - "summary": "Purges recovery service provider from fabric", - "description": "The operation to purge(force delete) a recovery services provider from the vault.", - "operationId": "ReplicationRecoveryServicesProviders_Purge", "produces": [ "application/json" ], @@ -3515,44 +3354,47 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "Fabric name.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "providerName", - "in": "path", - "description": "Recovery services provider name.", + "name": "input", + "in": "body", + "description": "Recovery Plan creation input.", "required": true, - "type": "string" - } - ], + "schema": { + "$ref": "#/definitions/CreateRecoveryPlanInput" + } + } + ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Purges recovery service provider from fabric": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" + "Creates a recovery plan with the given details.": { + "$ref": "./examples/ReplicationRecoveryPlans_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { - "post": { + }, + "delete": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationRecoveryPlans" ], - "summary": "Refresh details from the recovery services provider.", - "description": "The operation to refresh the information from the recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", + "summary": "Deletes the specified recovery plan.", + "description": "Delete a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Delete", "produces": [ "application/json" ], @@ -3570,47 +3412,38 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "providerName", + "name": "recoveryPlanName", "in": "path", - "description": "Recovery services provider name.", + "description": "Recovery plan name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Refresh details from the recovery services provider.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" + "Deletes the specified recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { - "post": { + }, + "patch": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationRecoveryPlans" + ], + "summary": "Updates the given recovery plan.", + "description": "The operation to update a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Update", + "consumes": [ + "application/json" ], - "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", - "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", - "operationId": "ReplicationRecoveryServicesProviders_Delete", "produces": [ "application/json" ], @@ -3628,44 +3461,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "Fabric name.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "providerName", - "in": "path", - "description": "Recovery services provider name.", + "name": "input", + "in": "body", + "description": "Update recovery plan input", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/UpdateRecoveryPlanInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" + "Updates the given recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { "get": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationRecoveryPlans" ], - "summary": "Gets the list of storage classification objects under a fabric.", - "description": "Lists the storage classifications available in the specified fabric.", - "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", + "summary": "Gets the list of recovery plans.", + "description": "Lists the recovery plans in the vault.", + "operationId": "ReplicationRecoveryPlans_List", "produces": [ "application/json" ], @@ -3681,20 +3519,13 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Site name of interest.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationCollection" + "$ref": "#/definitions/RecoveryPlanCollection" } } }, @@ -3702,20 +3533,23 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of storage classification objects under a fabric.": { - "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" + "Gets the list of recovery plans.": { + "$ref": "./examples/ReplicationRecoveryPlans_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "post": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationProtectionContainers" + ], + "summary": "Switches protection from one container to another or one replication provider to another.", + "description": "Operation to switch protection from one container to another or one replication provider to another.", + "operationId": "ReplicationProtectionContainers_SwitchProtection", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a storage classification.", - "description": "Gets the details of the specified storage classification.", - "operationId": "ReplicationStorageClassifications_Get", "produces": [ "application/json" ], @@ -3735,41 +3569,54 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classification name.", + "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "switchInput", + "in": "body", + "description": "Switch protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/SwitchProtectionInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassification" + "$ref": "#/definitions/ProtectionContainer" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a storage classification.": { - "$ref": "./examples/ReplicationStorageClassifications_Get.json" + "Switches protection from one container to another or one replication provider to another.": { + "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationProtectionContainers" ], - "summary": "Gets the list of storage classification mappings objects under a storage.", - "description": "Lists the storage classification mappings for the fabric.", - "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", + "summary": "Removes a protection container.", + "description": "Operation to remove a protection container.", + "operationId": "ReplicationProtectionContainers_Delete", "produces": [ "application/json" ], @@ -3789,44 +3636,45 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric ARM name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classfication name.", + "description": "Unique protection container ARM name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a storage.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" + "Removes a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationProtectionContainers" + ], + "summary": "Adds a protectable item to the replication protection container.", + "description": "The operation to a add a protectable item to a protection container(Add physical server.)", + "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a storage classification mapping.", - "description": "Gets the details of the specified storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Get", "produces": [ "application/json" ], @@ -3846,50 +3694,55 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The name of the fabric.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classification name.", + "description": "The name of the protection container.", "required": true, "type": "string" }, { - "name": "storageClassificationMappingName", - "in": "path", - "description": "Storage classification mapping name.", + "name": "discoverProtectableItemRequest", + "in": "body", + "description": "The request object to add a protectable item.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/DiscoverProtectableItemRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/ProtectionContainer" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" + "Adds a protectable item to the replication protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "get": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationProtectionContainers" ], - "summary": "Create storage classification mapping.", - "description": "The operation to create a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Create", - "consumes": [ - "application/json" - ], - "produces": [ + "summary": "Gets the protection container details.", + "description": "Gets the details of a protection container.", + "operationId": "ReplicationProtectionContainers_Get", + "produces": [ "application/json" ], "parameters": [ @@ -3913,54 +3766,37 @@ "type": "string" }, { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classification name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationMappingName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classification mapping name.", + "description": "Protection container name.", "required": true, "type": "string" - }, - { - "name": "pairingInput", - "in": "body", - "description": "Pairing input.", - "required": true, - "schema": { - "$ref": "#/definitions/StorageClassificationMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/ProtectionContainer" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Create storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" + "Gets the protection container details.": { + "$ref": "./examples/ReplicationProtectionContainers_Get.json" } } }, - "delete": { + "put": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationProtectionContainers" + ], + "summary": "Create a protection container.", + "description": "Operation to create a protection container.", + "operationId": "ReplicationProtectionContainers_Create", + "consumes": [ + "application/json" ], - "summary": "Delete a storage classification mapping.", - "description": "The operation to delete a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Delete", "produces": [ "application/json" ], @@ -3980,49 +3816,54 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric ARM name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classification name.", + "description": "Unique protection container ARM name.", "required": true, "type": "string" }, { - "name": "storageClassificationMappingName", - "in": "path", - "description": "Storage classification mapping name.", + "name": "creationInput", + "in": "body", + "description": "Creation input.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CreateProtectionContainerInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" + "Create a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationProtectionContainers" ], - "summary": "Gets the list of vCenter registered under a fabric.", - "description": "Lists the vCenter servers registered in a fabric.", - "operationId": "ReplicationvCenters_ListByReplicationFabrics", + "summary": "Gets the list of protection container for a fabric.", + "description": "Lists the protection containers in the specified fabric.", + "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -4051,7 +3892,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/ProtectionContainerCollection" } } }, @@ -4059,20 +3900,63 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of vCenter registered under a fabric.": { - "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" + "Gets the list of protection container for a fabric.": { + "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationProtectionContainers" ], - "summary": "Gets the details of a vCenter.", - "description": "Gets the details of a registered vCenter server(Add vCenter server.)", - "operationId": "ReplicationvCenters_Get", + "summary": "Gets the list of all protection containers in a vault.", + "description": "Lists the protection containers in a vault.", + "operationId": "ReplicationProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection containers in a vault.": { + "$ref": "./examples/ReplicationProtectionContainers_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets a protection container mapping/", + "description": "Gets the details of a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Get", "produces": [ "application/json" ], @@ -4097,9 +3981,16 @@ "type": "string" }, { - "name": "vCenterName", + "name": "protectionContainerName", "in": "path", - "description": "vCenter name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection Container mapping name.", "required": true, "type": "string" } @@ -4108,23 +3999,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/ProtectionContainerMapping" } } }, "x-ms-examples": { - "Gets the details of a vCenter.": { - "$ref": "./examples/ReplicationvCenters_Get.json" + "Gets a protection container mapping/": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" } } }, "put": { "tags": [ - "ReplicationvCenters" + "ReplicationProtectionContainerMappings" ], - "summary": "Add vCenter.", - "description": "The operation to create a vCenter object..", - "operationId": "ReplicationvCenters_Create", + "summary": "Create protection container mapping.", + "description": "The operation to create a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Create", "consumes": [ "application/json" ], @@ -4152,19 +4043,26 @@ "type": "string" }, { - "name": "vCenterName", + "name": "protectionContainerName", "in": "path", - "description": "vCenter name.", + "description": "Protection container name.", "required": true, "type": "string" }, { - "name": "addVCenterRequest", + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", "in": "body", - "description": "The input to the add vCenter operation.", + "description": "Mapping creation input.", "required": true, "schema": { - "$ref": "#/definitions/AddVCenterRequest" + "$ref": "#/definitions/CreateProtectionContainerMappingInput" } } ], @@ -4172,7 +4070,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/ProtectionContainerMapping" } }, "202": { @@ -4181,18 +4079,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Add vCenter.": { - "$ref": "./examples/ReplicationvCenters_Create.json" + "Create protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" } } }, "delete": { "tags": [ - "ReplicationvCenters" + "ReplicationProtectionContainerMappings" ], - "summary": "Remove vCenter operation.", - "description": "The operation to remove(unregister) a registered vCenter server from the vault.", - "operationId": "ReplicationvCenters_Delete", + "summary": "Purge protection container mapping.", + "description": "The operation to purge(force delete) a protection container mapping", + "operationId": "ReplicationProtectionContainerMappings_Purge", "produces": [ "application/json" ], @@ -4217,9 +4115,16 @@ "type": "string" }, { - "name": "vCenterName", + "name": "protectionContainerName", "in": "path", - "description": "vCenter name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", "required": true, "type": "string" } @@ -4234,18 +4139,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Remove vCenter operation.": { - "$ref": "./examples/ReplicationvCenters_Delete.json" + "Purge protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "post": { "tags": [ - "ReplicationvCenters" + "ReplicationProtectionContainerMappings" ], - "summary": "Update vCenter operation.", - "description": "The operation to update a registered vCenter.", - "operationId": "ReplicationvCenters_Update", + "summary": "Remove protection container mapping.", + "description": "The operation to delete or remove a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Delete", "consumes": [ "application/json" ], @@ -4273,49 +4180,53 @@ "type": "string" }, { - "name": "vCenterName", + "name": "protectionContainerName", "in": "path", - "description": "vCeneter name", + "description": "Protection container name.", "required": true, "type": "string" }, { - "name": "updateVCenterRequest", + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "removalInput", "in": "body", - "description": "The input to the update vCenter operation.", + "description": "Removal input.", "required": true, "schema": { - "$ref": "#/definitions/UpdateVCenterRequest" + "$ref": "#/definitions/RemoveProtectionContainerMappingInput" } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/VCenter" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Update vCenter operation.": { - "$ref": "./examples/ReplicationvCenters_Update.json" + "Remove protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { "get": { "tags": [ - "ReplicationJobs" + "ReplicationProtectableItems" ], - "summary": "Gets the list of jobs.", - "description": "Gets the list of Azure Site Recovery Jobs for the vault.", - "operationId": "ReplicationJobs_List", + "summary": "Gets the details of a protectable item.", + "description": "The operation to get the details of a protectable item.", + "operationId": "ReplicationProtectableItems_Get", "produces": [ "application/json" ], @@ -4333,10 +4244,24 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "protectableItemName", + "in": "path", + "description": "Protectable item name.", + "required": true, "type": "string" } ], @@ -4344,29 +4269,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/JobCollection" + "$ref": "#/definitions/ProtectableItem" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/JobQueryParameter", "x-ms-examples": { - "Gets the list of jobs.": { - "$ref": "./examples/ReplicationJobs_List.json" + "Gets the details of a protectable item.": { + "$ref": "./examples/ReplicationProtectableItems_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { "get": { "tags": [ - "ReplicationJobs" + "ReplicationProtectableItems" ], - "summary": "Gets the job details.", - "description": "Get the details of an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Get", + "summary": "Gets the list of protectable items.", + "description": "Lists the protectable items in a protection container.", + "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -4384,9 +4305,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Job identifier", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, "type": "string" } @@ -4395,25 +4323,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/ProtectableItemCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets the job details.": { - "$ref": "./examples/ReplicationJobs_Get.json" + "Gets the list of protectable items.": { + "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "get": { "tags": [ - "ReplicationJobs" + "ReplicationPolicies" ], - "summary": "Cancels the specified job.", - "description": "The operation to cancel an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Cancel", + "summary": "Gets the requested policy.", + "description": "Gets the details of a replication policy.", + "operationId": "ReplicationPolicies_Get", "produces": [ "application/json" ], @@ -4431,9 +4362,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "policyName", "in": "path", - "description": "Job indentifier.", + "description": "Replication policy name.", "required": true, "type": "string" } @@ -4442,29 +4373,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/Policy" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Cancels the specified job.": { - "$ref": "./examples/ReplicationJobs_Cancel.json" + "Gets the requested policy.": { + "$ref": "./examples/ReplicationPolicies_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { - "post": { + }, + "put": { "tags": [ - "ReplicationJobs" + "ReplicationPolicies" + ], + "summary": "Creates the policy.", + "description": "The operation to create a replication policy", + "operationId": "ReplicationPolicies_Create", + "consumes": [ + "application/json" ], - "summary": "Restarts the specified job.", - "description": "The operation to restart an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Restart", "produces": [ "application/json" ], @@ -4482,18 +4410,27 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "policyName", "in": "path", - "description": "Job identifier.", + "description": "Replication policy name", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create policy input", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePolicyInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/Policy" } }, "202": { @@ -4502,23 +4439,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Restarts the specified job.": { - "$ref": "./examples/ReplicationJobs_Restart.json" + "Creates the policy.": { + "$ref": "./examples/ReplicationPolicies_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { - "post": { + }, + "delete": { "tags": [ - "ReplicationJobs" - ], - "summary": "Resumes the specified job.", - "description": "The operation to resume an Azure Site Recovery job", - "operationId": "ReplicationJobs_Resume", - "consumes": [ - "application/json" + "ReplicationPolicies" ], + "summary": "Delete the policy.", + "description": "The operation to delete a replication policy.", + "operationId": "ReplicationPolicies_Delete", "produces": [ "application/json" ], @@ -4536,49 +4468,35 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "policyName", "in": "path", - "description": "Job identifier.", + "description": "Replication policy name.", "required": true, "type": "string" - }, - { - "name": "resumeJobParams", - "in": "body", - "description": "Resume rob comments.", - "required": true, - "schema": { - "$ref": "#/definitions/ResumeJobParams" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Job" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Resumes the specified job.": { - "$ref": "./examples/ReplicationJobs_Resume.json" + "Delete the policy.": { + "$ref": "./examples/ReplicationPolicies_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { - "post": { + }, + "patch": { "tags": [ - "ReplicationJobs" + "ReplicationPolicies" ], - "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", - "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", - "operationId": "ReplicationJobs_Export", + "summary": "Updates the policy.", + "description": "The operation to update a replication policy.", + "operationId": "ReplicationPolicies_Update", "consumes": [ "application/json" ], @@ -4599,12 +4517,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobQueryParameter", + "name": "policyName", + "in": "path", + "description": "Policy Id.", + "required": true, + "type": "string" + }, + { + "name": "input", "in": "body", - "description": "job query filter.", + "description": "Update Policy Input", "required": true, "schema": { - "$ref": "#/definitions/JobQueryParameter" + "$ref": "#/definitions/UpdatePolicyInput" } } ], @@ -4612,7 +4537,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/Policy" } }, "202": { @@ -4621,20 +4546,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Exports the details of the Azure Site Recovery jobs of the vault.": { - "$ref": "./examples/ReplicationJobs_Export.json" + "Updates the policy.": { + "$ref": "./examples/ReplicationPolicies_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationPolicies" ], - "summary": "Gets all the network mappings under a vault.", - "description": "Lists all ASR network mappings in the vault.", - "operationId": "ReplicationNetworkMappings_List", + "summary": "Gets the list of replication policies", + "description": "Lists the replication policies for a vault.", + "operationId": "ReplicationPolicies_List", "produces": [ "application/json" ], @@ -4656,7 +4581,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMappingCollection" + "$ref": "#/definitions/PolicyCollection" } } }, @@ -4664,20 +4589,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets all the network mappings under a vault.": { - "$ref": "./examples/ReplicationNetworkMappings_List.json" + "Gets the list of replication policies": { + "$ref": "./examples/ReplicationPolicies_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ - "ReplicationNetworks" + "Operations" ], - "summary": "Gets the list of networks. View-only API.", - "description": "Lists the networks available in a vault", - "operationId": "ReplicationNetworks_List", + "summary": "Returns the list of available operations.", + "description": "Operation to return the list of available operations.", + "operationId": "Operations_List", "produces": [ "application/json" ], @@ -4685,9 +4610,6 @@ { "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, { "$ref": "#/parameters/ResourceGroupName" }, @@ -4699,7 +4621,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkCollection" + "$ref": "#/definitions/OperationsDiscoveryCollection" } } }, @@ -4707,20 +4629,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of networks. View-only API.": { - "$ref": "./examples/ReplicationNetworks_List.json" + "Returns the list of available operations.": { + "$ref": "./examples/Operations_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { "get": { "tags": [ - "ReplicationPolicies" + "ReplicationNetworks" ], - "summary": "Gets the list of replication policies", - "description": "Lists the replication policies for a vault.", - "operationId": "ReplicationPolicies_List", + "summary": "Gets the list of networks. View-only API.", + "description": "Lists the networks available in a vault", + "operationId": "ReplicationNetworks_List", "produces": [ "application/json" ], @@ -4742,7 +4664,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PolicyCollection" + "$ref": "#/definitions/NetworkCollection" } } }, @@ -4750,20 +4672,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of replication policies": { - "$ref": "./examples/ReplicationPolicies_List.json" + "Gets the list of networks. View-only API.": { + "$ref": "./examples/ReplicationNetworks_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { "get": { "tags": [ - "ReplicationPolicies" + "ReplicationNetworks" ], - "summary": "Gets the requested policy.", - "description": "Gets the details of a replication policy.", - "operationId": "ReplicationPolicies_Get", + "summary": "Gets the list of networks under a fabric.", + "description": "Lists the networks available for a fabric.", + "operationId": "ReplicationNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -4781,9 +4703,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name.", + "description": "Fabric name", "required": true, "type": "string" } @@ -4792,26 +4714,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/NetworkCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets the requested policy.": { - "$ref": "./examples/ReplicationPolicies_Get.json" + "Gets the list of networks under a fabric.": { + "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { + "get": { "tags": [ - "ReplicationPolicies" - ], - "summary": "Creates the policy.", - "description": "The operation to create a replication policy", - "operationId": "ReplicationPolicies_Create", - "consumes": [ - "application/json" + "ReplicationNetworks" ], + "summary": "Gets a network with specified server id and network name.", + "description": "Gets the details of a network.", + "operationId": "ReplicationNetworks_Get", "produces": [ "application/json" ], @@ -4829,47 +4753,43 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name", + "description": "Server Id.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Create policy input", + "name": "networkName", + "in": "path", + "description": "Primary network name.", "required": true, - "schema": { - "$ref": "#/definitions/CreatePolicyInput" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/Network" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates the policy.": { - "$ref": "./examples/ReplicationPolicies_Create.json" + "Gets a network with specified server id and network name.": { + "$ref": "./examples/ReplicationNetworks_Get.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "get": { "tags": [ - "ReplicationPolicies" + "ReplicationNetworkMappings" ], - "summary": "Delete the policy.", - "description": "The operation to delete a replication policy.", - "operationId": "ReplicationPolicies_Delete", + "summary": "Gets network mapping by name.", + "description": "Gets the details of an ASR network mapping", + "operationId": "ReplicationNetworkMappings_Get", "produces": [ "application/json" ], @@ -4887,35 +4807,48 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name.", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete the policy.": { - "$ref": "./examples/ReplicationPolicies_Delete.json" + "Gets network mapping by name.": { + "$ref": "./examples/ReplicationNetworkMappings_Get.json" } } }, - "patch": { + "put": { "tags": [ - "ReplicationPolicies" + "ReplicationNetworkMappings" ], - "summary": "Updates the protection profile.", - "description": "The operation to update a replication policy.", - "operationId": "ReplicationPolicies_Update", + "summary": "Creates network mapping.", + "description": "The operation to create an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Create", "consumes": [ "application/json" ], @@ -4936,19 +4869,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", "in": "path", - "description": "Protection profile Id.", + "description": "Network mapping name.", "required": true, "type": "string" }, { "name": "input", "in": "body", - "description": "Update Protection Profile Input", + "description": "Create network mapping input.", "required": true, "schema": { - "$ref": "#/definitions/UpdatePolicyInput" + "$ref": "#/definitions/CreateNetworkMappingInput" } } ], @@ -4956,7 +4903,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/NetworkMapping" } }, "202": { @@ -4965,20 +4912,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the protection profile.": { - "$ref": "./examples/ReplicationPolicies_Update.json" + "Creates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { - "get": { + }, + "delete": { "tags": [ - "ReplicationProtectedItems" + "ReplicationNetworkMappings" ], - "summary": "Gets the list of replication protected items.", - "description": "Gets the list of ASR replication protected items in the vault.", - "operationId": "ReplicationProtectedItems_List", + "summary": "Delete network mapping.", + "description": "The operation to delete a network mapping.", + "operationId": "ReplicationNetworkMappings_Delete", "produces": [ "application/json" ], @@ -4996,47 +4941,52 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "skipToken", - "in": "query", - "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "ARM Resource Name for network mapping.", + "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of replication protected items.": { - "$ref": "./examples/ReplicationProtectedItems_List.json" + "Delete network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { - "get": { + }, + "patch": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationNetworkMappings" + ], + "summary": "Updates network mapping.", + "description": "The operation to update an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Update", + "consumes": [ + "application/json" ], - "summary": "Gets the list of all protection container mappings in a vault.", - "description": "Lists the protection container mappings in the vault.", - "operationId": "ReplicationProtectionContainerMappings_List", "produces": [ "application/json" ], @@ -5052,77 +5002,65 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNetworkMappingInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/NetworkMapping" } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Gets the list of all protection container mappings in a vault.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { - "get": { - "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Gets the list of all protection containers in a vault.", - "description": "Lists the protection containers in a vault.", - "operationId": "ReplicationProtectionContainers_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" - } + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of all protection containers in a vault.": { - "$ref": "./examples/ReplicationProtectionContainers_List.json" + "Updates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationLogicalNetworks" ], - "summary": "Gets the list of recovery plans.", - "description": "Lists the recovery plans in the vault.", - "operationId": "ReplicationRecoveryPlans_List", + "summary": "Gets the list of logical networks under a fabric.", + "description": "Lists all the logical networks of the Azure Site Recovery fabric", + "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -5138,13 +5076,20 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlanCollection" + "$ref": "#/definitions/LogicalNetworkCollection" } } }, @@ -5152,20 +5097,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of recovery plans.": { - "$ref": "./examples/ReplicationRecoveryPlans_List.json" + "Gets the list of logical networks under a fabric.": { + "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationLogicalNetworks" ], - "summary": "Gets the requested recovery plan.", - "description": "Gets the details of the recovery plan.", - "operationId": "ReplicationRecoveryPlans_Get", + "summary": "Gets a logical network with specified server id and logical network name.", + "description": "Gets the details of a logical network.", + "operationId": "ReplicationLogicalNetworks_Get", "produces": [ "application/json" ], @@ -5183,9 +5128,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Name of the recovery plan.", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "logicalNetworkName", + "in": "path", + "description": "Logical network name.", "required": true, "type": "string" } @@ -5194,23 +5146,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/LogicalNetwork" } } }, "x-ms-examples": { - "Gets the requested recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Get.json" + "Gets a logical network with specified server id and logical network name.": { + "$ref": "./examples/ReplicationLogicalNetworks_Get.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationJobs" ], - "summary": "Creates a recovery plan with the given details.", - "description": "The operation to create a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Create", + "summary": "Resumes the specified job.", + "description": "The operation to resume an Azure Site Recovery job", + "operationId": "ReplicationJobs_Resume", "consumes": [ "application/json" ], @@ -5231,19 +5185,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "jobName", "in": "path", - "description": "Recovery plan name.", + "description": "Job identifier.", "required": true, "type": "string" }, { - "name": "input", + "name": "resumeJobParams", "in": "body", - "description": "Recovery Plan creation input.", + "description": "Resume rob comments.", "required": true, "schema": { - "$ref": "#/definitions/CreateRecoveryPlanInput" + "$ref": "#/definitions/ResumeJobParams" } } ], @@ -5251,7 +5205,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Job" } }, "202": { @@ -5260,18 +5214,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates a recovery plan with the given details.": { - "$ref": "./examples/ReplicationRecoveryPlans_Create.json" + "Resumes the specified job.": { + "$ref": "./examples/ReplicationJobs_Resume.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationJobs" ], - "summary": "Deletes the specified recovery plan.", - "description": "Delete a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Delete", + "summary": "Restarts the specified job.", + "description": "The operation to restart an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Restart", "produces": [ "application/json" ], @@ -5289,38 +5245,40 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "jobName", "in": "path", - "description": "Recovery plan name.", + "description": "Job identifier.", "required": true, "type": "string" } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes the specified recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" + "Restarts the specified job.": { + "$ref": "./examples/ReplicationJobs_Restart.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { + "post": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Updates the given recovery plan.", - "description": "The operation to update a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Update", - "consumes": [ - "application/json" + "ReplicationJobs" ], + "summary": "Cancels the specified job.", + "description": "The operation to cancel an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Cancel", "produces": [ "application/json" ], @@ -5338,27 +5296,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "jobName", "in": "path", - "description": "Recovery plan name.", + "description": "Job indentifier.", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Update recovery plan input", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateRecoveryPlanInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Job" } }, "202": { @@ -5367,20 +5316,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the given recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Update.json" + "Cancels the specified job.": { + "$ref": "./examples/ReplicationJobs_Cancel.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { + "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationJobs" ], - "summary": "Execute commit failover of the recovery plan.", - "description": "The operation to commit the fail over of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "summary": "Gets the job details.", + "description": "Get the details of an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Get", "produces": [ "application/json" ], @@ -5398,9 +5347,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "jobName", "in": "path", - "description": "Recovery plan name.", + "description": "Job identifier", "required": true, "type": "string" } @@ -5409,29 +5358,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Job" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute commit failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" + "Gets the job details.": { + "$ref": "./examples/ReplicationJobs_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationJobs" ], - "summary": "Execute planned failover of the recovery plan.", - "description": "The operation to start the planned failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", + "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", + "operationId": "ReplicationJobs_Export", "consumes": [ "application/json" ], @@ -5452,19 +5397,12 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", - "in": "path", - "description": "Recovery plan name.", - "required": true, - "type": "string" - }, - { - "name": "input", + "name": "jobQueryParameter", "in": "body", - "description": "Failover input.", + "description": "job query filter.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + "$ref": "#/definitions/JobQueryParameter" } } ], @@ -5472,7 +5410,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Job" } }, "202": { @@ -5481,20 +5419,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" + "Exports the details of the Azure Site Recovery jobs of the vault.": { + "$ref": "./examples/ReplicationJobs_Export.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { + "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationJobs" ], - "summary": "Execute reprotect of the recovery plan.", - "description": "The operation to reprotect(reverse replicate) a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Reprotect", + "summary": "Gets the list of jobs.", + "description": "Gets the list of Azure Site Recovery Jobs for the vault.", + "operationId": "ReplicationJobs_List", "produces": [ "application/json" ], @@ -5512,10 +5450,10 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", - "in": "path", - "description": "Recovery plan name.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -5523,29 +5461,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/JobCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/JobQueryParameter", "x-ms-examples": { - "Execute reprotect of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" + "Gets the list of jobs.": { + "$ref": "./examples/ReplicationJobs_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationFabrics" ], - "summary": "Execute test failover of the recovery plan.", - "description": "The operation to start the test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailover", + "summary": "Perform failover of the process server.", + "description": "The operation to move replications from a process server to another process server.", + "operationId": "ReplicationFabrics_ReassociateGateway", "consumes": [ "application/json" ], @@ -5566,19 +5504,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "The name of the fabric containing the process server.", "required": true, "type": "string" }, { - "name": "input", + "name": "failoverProcessServerRequest", "in": "body", - "description": "Failover input.", + "description": "The input to the failover process server operation.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInput" + "$ref": "#/definitions/FailoverProcessServerRequest" } } ], @@ -5586,7 +5524,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Fabric" } }, "202": { @@ -5595,23 +5533,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" + "Perform failover of the process server.": { + "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { "post": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute test failover cleanup of the recovery plan.", - "description": "The operation to cleanup test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", - "consumes": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Checks the consistency of the ASR fabric.", + "description": "The operation to perform a consistency check on the fabric.", + "operationId": "ReplicationFabrics_CheckConsistency", "produces": [ "application/json" ], @@ -5629,27 +5564,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Test failover cleanup input.", - "required": true, - "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/Fabric" } }, "202": { @@ -5658,23 +5584,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover cleanup of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + "Checks the consistency of the ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { "post": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute unplanned failover of the recovery plan.", - "description": "The operation to start the failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_UnplannedFailover", - "consumes": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Deletes the site.", + "description": "The operation to delete or remove an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Delete", "produces": [ "application/json" ], @@ -5692,49 +5615,37 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "ASR fabric to delete", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Failover input.", - "required": true, - "schema": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPlan" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute unplanned failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" + "Deletes the site.": { + "$ref": "./examples/ReplicationFabrics_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { "get": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationFabrics" ], - "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", - "description": "Lists the registered recovery services providers in the vault", - "operationId": "ReplicationRecoveryServicesProviders_List", + "summary": "Gets the details of an ASR fabric.", + "description": "Gets the details of an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Get", "produces": [ "application/json" ], @@ -5750,34 +5661,39 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" + "$ref": "#/definitions/Fabric" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of registered recovery services providers in the vault. This is a view only api.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" + "Gets the details of an ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { - "get": { + }, + "put": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationFabrics" + ], + "summary": "Creates an Azure Site Recovery fabric.", + "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", + "operationId": "ReplicationFabrics_Create", + "consumes": [ + "application/json" ], - "summary": "Gets the list of storage classification mappings objects under a vault.", - "description": "Lists the storage classification mappings in the vault.", - "operationId": "ReplicationStorageClassificationMappings_List", "produces": [ "application/json" ], @@ -5793,34 +5709,49 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the ASR fabric.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Fabric creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCreationInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a vault.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" + "Creates an Azure Site Recovery fabric.": { + "$ref": "./examples/ReplicationFabrics_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { - "get": { + }, + "delete": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationFabrics" ], - "summary": "Gets the list of storage classification objects under a vault.", - "description": "Lists the storage classifications in the vault.", - "operationId": "ReplicationStorageClassifications_List", + "summary": "Purges the site.", + "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Purge", "produces": [ "application/json" ], @@ -5836,34 +5767,39 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to purge.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/StorageClassificationCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification objects under a vault.": { - "$ref": "./examples/ReplicationStorageClassifications_List.json" + "Purges the site.": { + "$ref": "./examples/ReplicationFabrics_Purge.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { "get": { "tags": [ - "ReplicationVaultHealth" + "ReplicationFabrics" ], - "summary": "Gets the health summary for the vault.", - "description": "Gets the health details of the vault.", - "operationId": "ReplicationVaultHealth_Get", + "summary": "Gets the list of ASR fabrics", + "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", + "operationId": "ReplicationFabrics_List", "produces": [ "application/json" ], @@ -5885,24 +5821,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultHealthDetails" + "$ref": "#/definitions/FabricCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets the health summary for the vault.": { - "$ref": "./examples/ReplicationVaultHealth_Get.json" - } + "Gets the list of ASR fabrics": { + "$ref": "./examples/ReplicationFabrics_List.json" + } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { + "get": { "tags": [ - "ReplicationVaultHealth" + "ReplicationAlertSettings" ], - "summary": "Refreshes health summary of the vault.", - "operationId": "ReplicationVaultHealth_Refresh", + "summary": "Gets an email notification(alert) configuration.", + "description": "Gets the details of the specified email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Get", "produces": [ "application/json" ], @@ -5918,35 +5858,95 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification configuration.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultHealthDetails" + "$ref": "#/definitions/Alert" } + } + }, + "x-ms-examples": { + "Gets an email notification(alert) configuration.": { + "$ref": "./examples/ReplicationAlertSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Configures email notifications for this vault.", + "description": "Create or update an email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "202": { - "description": "Accepted" + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification(alert) configuration.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "The input to configure the email notification(alert).", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigureAlertRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Refreshes health summary of the vault.": { - "$ref": "./examples/ReplicationVaultHealth_Refresh.json" + "Configures email notifications for this vault.": { + "$ref": "./examples/ReplicationAlertSettings_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationAlertSettings" ], - "summary": "Gets the list of vCenter registered under the vault.", - "description": "Lists the vCenter servers registered in the vault.", - "operationId": "ReplicationvCenters_List", + "summary": "Gets the list of configured email notification(alert) configurations.", + "description": "Gets the list of email notification(alert) configurations for the vault.", + "operationId": "ReplicationAlertSettings_List", "produces": [ "application/json" ], @@ -5968,7 +5968,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/AlertCollection" } } }, @@ -5976,749 +5976,798 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of vCenter registered under the vault.": { - "$ref": "./examples/ReplicationvCenters_List.json" + "Gets the list of configured email notification(alert) configurations.": { + "$ref": "./examples/ReplicationAlertSettings_List.json" } } } } }, "definitions": { - "A2AApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to A2A provider.", + "AlertCollection": { + "description": "Collection of alerts.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + "properties": { + "value": { + "description": "The list of alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - ], - "properties": {}, - "x-ms-discriminator-value": "A2A" + } }, - "A2AContainerCreationInput": { - "description": "A2A cloud creation input.", + "Alert": { + "description": "Implements the Alert class.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + "$ref": "#/definitions/Resource" } ], - "properties": {}, - "x-ms-discriminator-value": "A2A" + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Alert related data." + } + } }, - "A2AEnableProtectionInput": { - "description": "A2A enable protection input.", + "AlertProperties": { + "description": "The proprties of an alert.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", - "type": "string" - }, - "recoveryContainerId": { - "description": "The recovery container Id.", + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", "type": "string" }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", - "type": "string" + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "locale": { + "description": "The locale for the email notification.", "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", + } + } + }, + "ConfigureAlertRequest": { + "description": "Request to configure alerts for the system.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigureAlertRequestProperties", + "description": "The properties of a configure alert request." + } + } + }, + "ConfigureAlertRequestProperties": { + "description": "Properties of a configure alert request.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", "type": "string" }, - "vmDisks": { - "description": "The list of vm disk details.", + "customEmailAddresses": { + "description": "The custom email address for sending emails.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" + "type": "string" } }, - "vmManagedDisks": { - "description": "The list of vm managed disk details.", + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "FabricCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The fabric details.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + "$ref": "#/definitions/Fabric" } }, - "multiVmGroupName": { - "description": "The multi vm group name.", - "type": "string" - }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AEventDetails": { - "description": "Model class for event details of a A2A event.", + "Fabric": { + "description": "Fabric definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "protectedItemName": { - "description": "The protected item arm name.", + "properties": { + "$ref": "#/definitions/FabricProperties", + "description": "Fabric related data." + } + } + }, + "FabricProperties": { + "description": "Fabric properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the fabric.", "type": "string" }, - "fabricObjectId": { - "description": "The azure vm arm id.", - "type": "string" + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Encryption details for the fabric." }, - "fabricName": { - "description": "Fabric arm name.", - "type": "string" + "rolloverEncryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Rollover encryption details for the fabric." }, - "fabricLocation": { - "description": "The fabric location.", + "internalIdentifier": { + "description": "Dra Registration Id.", "type": "string" }, - "remoteFabricName": { - "description": "Remote fabric arm name.", + "bcdrState": { + "description": "BCDR state of the fabric.", "type": "string" }, - "remoteFabricLocation": { - "description": "Remote fabric location.", + "customDetails": { + "$ref": "#/definitions/FabricSpecificDetails", + "description": "Fabric specific settings." + }, + "healthErrorDetails": { + "description": "Fabric health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "health": { + "description": "Health of fabric.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AFailoverProviderInput": { - "description": "A2A provider specific input for failover.", + "EncryptionDetails": { + "description": "Encryption details for the fabric.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], "properties": { - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "kekState": { + "description": "The key encryption key state for the Vmm.", "type": "string" }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "kekCertThumbprint": { + "description": "The key encryption key certificate thumbprint.", + "type": "string" + }, + "kekCertExpiryDate": { + "format": "date-time", + "description": "The key encryption key certificate expiry date.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2APolicyCreationInput": { - "description": "A2A Policy creation input.", - "required": [ - "multiVmSyncStatus" - ], + "FabricSpecificDetails": { + "description": "Fabric specific details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" - } - ], "properties": { - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" - }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "readOnly": true } }, - "x-ms-discriminator-value": "A2A" + "discriminator": "instanceType" }, - "A2APolicyDetails": { - "description": "A2A specific policy details.", + "HealthError": { + "description": "Health Error", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "innerHealthErrors": { + "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerHealthError" + } }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "errorSource": { + "description": "Source of error.", "type": "string" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "A2A" - }, - "A2AProtectedDiskDetails": { - "description": "A2A protected disk details.", - "type": "object", - "properties": { - "diskUri": { - "description": "The disk uri.", + "errorType": { + "description": "Type of error.", "type": "string" }, - "recoveryAzureStorageAccountId": { - "description": "The recovery disk storage account.", + "errorLevel": { + "description": "Level of error.", "type": "string" }, - "primaryDiskAzureStorageAccountId": { - "description": "The primary disk storage account.", + "errorCategory": { + "description": "Category of error.", "type": "string" }, - "recoveryDiskUri": { - "description": "Recovery disk uri.", + "errorCode": { + "description": "Error code.", "type": "string" }, - "diskName": { - "description": "The disk name.", + "summaryMessage": { + "description": "Summary message of the entity.", "type": "string" }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account.", + "errorMessage": { + "description": "Error message.", "type": "string" }, - "diskType": { - "description": "The type of disk.", + "possibleCauses": { + "description": "Possible causes of error.", "type": "string" }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "boolean" - }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", - "type": "integer" + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", "type": "string" }, - "dataPendingInStagingStorageAccountInMB": { - "format": "double", - "description": "The data pending for replication in MB at staging account.", - "type": "number" + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" }, - "dataPendingAtSourceAgentInMB": { - "format": "double", - "description": "The data pending at source virtual machine in MB.", - "type": "number" + "entityId": { + "description": "ID of the entity.", + "type": "string" } } }, - "A2AProtectedManagedDiskDetails": { - "description": "A2A protected managed disk details.", + "InnerHealthError": { + "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", "type": "object", "properties": { - "diskId": { - "description": "The managed disk Arm id.", + "errorSource": { + "description": "Source of error.", "type": "string" }, - "recoveryResourceGroupId": { - "description": "The recovery disk resource group Arm Id.", + "errorType": { + "description": "Type of error.", "type": "string" }, - "recoveryTargetDiskId": { - "description": "Recovery target disk Arm Id.", + "errorLevel": { + "description": "Level of error.", "type": "string" }, - "recoveryReplicaDiskId": { - "description": "Recovery replica disk Arm Id.", + "errorCategory": { + "description": "Category of error.", "type": "string" }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "errorCode": { + "description": "Error code.", "type": "string" }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "summaryMessage": { + "description": "Summary message of the entity.", "type": "string" }, - "diskName": { - "description": "The disk name.", + "errorMessage": { + "description": "Error message.", "type": "string" }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account.", + "recommendedAction": { + "description": "Recommended action to resolve error.", "type": "string" }, - "diskType": { - "description": "The type of disk.", + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", "type": "string" }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "boolean" + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", - "type": "integer" + "entityId": { + "description": "ID of the entity.", + "type": "string" + } + } + }, + "FabricCreationInput": { + "description": "Site details provided during the time of site creation", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FabricCreationInputProperties", + "description": "Fabric creation input." + } + } + }, + "FabricCreationInputProperties": { + "description": "Properties of site details provided during the time of site creation", + "type": "object", + "properties": { + "customDetails": { + "$ref": "#/definitions/FabricSpecificCreationInput", + "description": "Fabric provider specific creation input." + } + } + }, + "FabricSpecificCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "Object": { + "description": "Base of all objects.", + "type": "object", + "properties": {} + }, + "FailoverProcessServerRequest": { + "description": "Request to failover a process server.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FailoverProcessServerRequestProperties", + "description": "The properties of the PS Failover request." + } + } + }, + "FailoverProcessServerRequestProperties": { + "description": "The properties of the Failover Process Server request.", + "type": "object", + "properties": { + "containerName": { + "description": "The container identifier.", + "type": "string" }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "sourceProcessServerId": { + "description": "The source process server.", "type": "string" }, - "dataPendingInStagingStorageAccountInMB": { - "format": "double", - "description": "The data pending for replication in MB at staging account.", - "type": "number" + "targetProcessServerId": { + "description": "The new process server.", + "type": "string" }, - "dataPendingAtSourceAgentInMB": { - "format": "double", - "description": "The data pending at source virtual machine in MB.", - "type": "number" + "vmsToMigrate": { + "description": "The VMS to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "updateType": { + "description": "A value for failover type. It can be systemlevel/serverlevel", + "type": "string" } } }, - "A2ARecoveryPointDetails": { - "description": "A2A provider specific recovery point details.", + "JobCollection": { + "description": "Collection of jobs.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" - } - ], "properties": { - "recoveryPointSyncType": { - "description": "A value indicating whether the recovery point is multi VM consistent.", - "enum": [ - "MultiVmSyncRecoveryPoint", - "PerVmRecoveryPoint" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointSyncType", - "modelAsString": false + "value": { + "description": "The list of jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/Job" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AReplicationDetails": { - "description": "A2A provider specific settings.", + "Job": { + "description": "Job details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/Resource" } ], "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The custom data." + } + } + }, + "JobProperties": { + "description": "Job custom data details.", + "type": "object", + "properties": { + "activityId": { + "description": "The activity id.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "scenarioName": { + "description": "The ScenarioName.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "friendlyName": { + "description": "The DisplayName.", "type": "string" }, - "multiVmGroupCreateOption": { - "description": "Whether Multi VM group is auto created or specified by user.", + "state": { + "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", "type": "string" }, - "managementId": { - "description": "The management Id.", + "stateDescription": { + "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", "type": "string" }, - "protectedDisks": { - "description": "The list of protected disks.", + "tasks": { + "description": "The tasks.", "type": "array", "items": { - "$ref": "#/definitions/A2AProtectedDiskDetails" + "$ref": "#/definitions/ASRTask" } }, - "protectedManagedDisks": { - "description": "The list of protected managed disks.", + "errors": { + "description": "The errors.", "type": "array", "items": { - "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + "$ref": "#/definitions/JobErrorDetails" } }, - "recoveryBootDiagStorageAccountId": { - "description": "The recovery boot diagnostic storage account Arm Id.", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "primaryFabricLocation": { - "description": "Primary fabric location.", + "endTime": { + "format": "date-time", + "description": "The end time.", "type": "string" }, - "recoveryFabricLocation": { - "description": "The recovery fabric location.", - "type": "string" + "allowedActions": { + "description": "The Allowed action the job.", + "type": "array", + "items": { + "type": "string" + } }, - "osType": { - "description": "The type of operating system.", + "targetObjectId": { + "description": "The affected Object Id.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "The size of recovery virtual machine.", + "targetObjectName": { + "description": "The name of the affected object.", "type": "string" }, - "recoveryAzureVMName": { - "description": "The name of recovery virtual machine.", + "targetInstanceType": { + "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", "type": "string" }, - "recoveryAzureResourceGroupId": { - "description": "The recovery resource group.", + "customDetails": { + "$ref": "#/definitions/JobDetails", + "description": "The custom job details like test failover job details." + } + } + }, + "ASRTask": { + "description": "Task of the Job.", + "type": "object", + "properties": { + "taskId": { + "description": "The Id.", "type": "string" }, - "recoveryCloudService": { - "description": "The recovery cloud service.", + "name": { + "description": "The unique Task name.", "type": "string" }, - "recoveryAvailabilitySet": { - "description": "The recovery availability set.", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "selectedRecoveryAzureNetworkId": { - "description": "The recovery virtual network.", + "endTime": { + "format": "date-time", + "description": "The end time.", "type": "string" }, - "vmNics": { - "description": "The virtual machine nic details.", + "allowedActions": { + "description": "The state/actions applicable on this task.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "type": "string" } }, - "vmSyncedConfigDetails": { - "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", - "description": "The synced configuration details." - }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", - "type": "integer" + "friendlyName": { + "description": "The name.", + "type": "string" }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "state": { + "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", + "stateDescription": { + "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", "type": "string" }, - "agentVersion": { - "description": "The agent version.", + "taskType": { + "description": "The type of task. Details in CustomDetails property depend on this type.", "type": "string" }, - "isReplicationAgentUpdateRequired": { - "description": "A value indicating whether replication agent update is required.", - "type": "boolean" + "customDetails": { + "$ref": "#/definitions/TaskTypeDetails", + "description": "The custom task details based on the task type." }, - "recoveryFabricObjectId": { - "description": "The recovery fabric object Id.", - "type": "string" + "groupTaskCustomDetails": { + "$ref": "#/definitions/GroupTaskDetails", + "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" + "errors": { + "description": "The task error details.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + } + } + }, + "JobErrorDetails": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "serviceErrorDetails": { + "$ref": "#/definitions/ServiceError", + "description": "The Service error details." }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" + "providerErrorDetails": { + "$ref": "#/definitions/ProviderError", + "description": "The Provider error details." }, - "lifecycleId": { - "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "errorLevel": { + "description": "Error level of error.", "type": "string" }, - "testFailoverRecoveryFabricObjectId": { - "description": "The test failover fabric object Id.", + "creationTime": { + "format": "date-time", + "description": "The creation time of job error.", "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "The last RPO value in seconds.", - "type": "integer" - }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", + "taskId": { + "description": "The Id of the task.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AReprotectInput": { - "description": "Azure specific reprotect input.", + "JobDetails": { + "description": "Job details based on specific job type.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" - } - ], "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" + "instanceType": { + "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" + "affectedObjectDetails": { + "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", + "type": "object", + "additionalProperties": { + "type": "string" } - }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", - "type": "string" - }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", - "type": "string" - }, - "policyId": { - "description": "The Policy Id.", - "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "discriminator": "instanceType" }, - "A2ASwitchProtectionInput": { - "description": "A2A specific switch protection input.", + "TaskTypeDetails": { + "description": "Task details based on specific task type.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" - } - ], "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" - }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } - }, - "vmManagedDisks": { - "description": "The list of vm managed disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmManagedDiskInputDetails" - } - }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", - "type": "string" - }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", - "type": "string" - }, - "policyId": { - "description": "The Policy Id.", - "type": "string" - }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", + "instanceType": { + "description": "The type of task details.", "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "discriminator": "instanceType" }, - "A2AUpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "GroupTaskDetails": { + "description": "This class represents the group task details when parent child relationship exists in the drill down.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" - } - ], "properties": { - "recoveryCloudServiceId": { - "description": "The target cloud service ARM Id (for V1).", - "type": "string" - }, - "recoveryResourceGroupId": { - "description": "The target resource group ARM Id (for V2).", + "instanceType": { + "description": "The type of task details.", "type": "string" }, - "managedDiskUpdateDetails": { - "description": "Managed disk update details.", + "childTasks": { + "description": "The child tasks.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + "$ref": "#/definitions/ASRTask" } - }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", - "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "discriminator": "instanceType" }, - "A2AVmDiskInputDetails": { - "description": "Azure VM disk input details.", + "ServiceError": { + "description": "ASR error model", "type": "object", "properties": { - "diskUri": { - "description": "The disk Uri.", + "code": { + "description": "Error code.", "type": "string" }, - "recoveryAzureStorageAccountId": { - "description": "The recovery VHD storage account Id.", + "message": { + "description": "Error message.", "type": "string" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account Id.", + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "activityId": { + "description": "Activity Id.", "type": "string" } } }, - "A2AVmManagedDiskInputDetails": { - "description": "Azure VM managed disk input details.", + "ProviderError": { + "description": "This class contains the error details per object.", "type": "object", "properties": { - "diskId": { - "description": "The disk Id.", - "type": "string" + "errorCode": { + "format": "int32", + "description": "The Error code.", + "type": "integer" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account Arm Id.", + "errorMessage": { + "description": "The Error message.", "type": "string" }, - "recoveryResourceGroupId": { - "description": "The target resource group Arm Id.", + "errorId": { + "description": "The Provider error Id.", "type": "string" }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "possibleCauses": { + "description": "The possible causes for the error.", "type": "string" }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "recommendedAction": { + "description": "The recommended action to resolve the error.", "type": "string" } } }, - "A2AVmManagedDiskUpdateDetails": { - "description": "Azure VM managed disk update input details.", + "JobQueryParameter": { + "description": "Query parameter to enumerate jobs.", "type": "object", "properties": { - "diskId": { - "description": "The disk Id.", + "startTime": { + "description": "Date time to get jobs from.", "type": "string" }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type before failover.", + "endTime": { + "description": "Date time to get jobs upto.", "type": "string" }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type before failover.", + "fabricId": { + "description": "The Id of the fabric to search jobs under.", "type": "string" + }, + "affectedObjectTypes": { + "description": "The type of objects.", + "type": "array", + "items": { + "type": "string" + } + }, + "jobStatus": { + "description": "The states of the job to be filtered can be in.", + "type": "array", + "items": { + "type": "string" + } } } }, - "AddVCenterRequest": { - "description": "Input required to add vCenter.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/AddVCenterRequestProperties", - "description": "The properties of an add vCenter request." - } - } - }, - "AddVCenterRequestProperties": { - "description": "The properties of an add vCenter request.", + "ResumeJobParams": { + "description": "Resume job params.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResumeJobParamsProperties", + "description": "Resume job properties." + } + } + }, + "ResumeJobParamsProperties": { + "description": "Resume job properties.", + "type": "object", + "properties": { + "comments": { + "description": "Resume job comments.", + "type": "string" + } + } + }, + "LogicalNetwork": { + "description": "Logical network data model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LogicalNetworkProperties", + "description": "The Logical Network Properties." + } + } + }, + "LogicalNetworkProperties": { + "description": "Logical Network Properties.", "type": "object", "properties": { "friendlyName": { - "description": "The friendly name of the vCenter.", + "description": "The Friendly Name.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", + "networkVirtualizationStatus": { + "description": "A value indicating whether Network Virtualization is enabled for the logical network.", "type": "string" }, - "processServerId": { - "description": "The process server Id from where the discovery is orchestrated.", + "logicalNetworkUsage": { + "description": "A value indicating whether logical network is used as private test network by test failover.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "logicalNetworkDefinitionsStatus": { + "description": "A value indicating whether logical network definitions are isolated.", "type": "string" + } + } + }, + "LogicalNetworkCollection": { + "description": "List of logical networks.", + "type": "object", + "properties": { + "value": { + "description": "The Logical Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/LogicalNetwork" + } }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", + "nextLink": { + "description": "The value of next link.", "type": "string" } } }, - "Alert": { - "description": "Implements the Alert class.", + "NetworkMapping": { + "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.", "type": "object", "allOf": [ { @@ -6727,348 +6776,464 @@ ], "properties": { "properties": { - "$ref": "#/definitions/AlertProperties", - "description": "Alert related data." + "$ref": "#/definitions/NetworkMappingProperties", + "description": "The Network Mapping Properties." } } }, - "AlertCollection": { - "description": "Collection of alerts.", + "NetworkMappingProperties": { + "description": "Network Mapping Properties.", "type": "object", "properties": { - "value": { - "description": "The list of alerts.", - "type": "array", - "items": { - "$ref": "#/definitions/Alert" - } + "state": { + "description": "The pairing state for network mapping.", + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "primaryNetworkFriendlyName": { + "description": "The primary network friendly name.", + "type": "string" + }, + "primaryNetworkId": { + "description": "The primary network id for network mapping.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryNetworkFriendlyName": { + "description": "The recovery network friendly name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "The recovery network id for network mapping.", + "type": "string" + }, + "recoveryFabricArmId": { + "description": "The recovery fabric ARM id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", "type": "string" + }, + "fabricSpecificSettings": { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", + "description": "The fabric specific settings." } } }, - "AlertProperties": { - "description": "The proprties of an alert.", + "NetworkMappingFabricSpecificSettings": { + "description": "Network Mapping fabric specific settings.", "type": "object", "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + } + }, + "CreateNetworkMappingInput": { + "description": "Create network mappings input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateNetworkMappingInputProperties", + "description": "Input properties for creating network mapping." + } + } + }, + "CreateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric Name.", "type": "string" }, - "customEmailAddresses": { - "description": "The custom email address for sending emails.", - "type": "array", - "items": { - "type": "string" - } - }, - "locale": { - "description": "The locale for the email notification.", + "recoveryNetworkId": { + "description": "Recovery network Id.", "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", + "description": "Fabric specific input properties." } } }, - "ApplyRecoveryPointInput": { - "description": "Input to apply recovery point.", + "FabricSpecificCreateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateNetworkMappingInput": { + "description": "Update network mapping input.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/ApplyRecoveryPointInputProperties", - "description": "The input properties to apply recovery point." + "$ref": "#/definitions/UpdateNetworkMappingInputProperties", + "description": "The input properties needed to update network mapping." } } }, - "ApplyRecoveryPointInputProperties": { - "description": "Input properties to apply recovery point.", + "UpdateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", "type": "object", "properties": { - "recoveryPointId": { - "description": "The recovery point Id.", + "recoveryFabricName": { + "description": "Recovery fabric name.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", - "description": "Provider specific input for applying recovery point." + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", + "description": "Fabrics specific input network Id." } } }, - "ApplyRecoveryPointProviderSpecificInput": { - "description": "Provider specific input for apply recovery point.", + "FabricSpecificUpdateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", "type": "object", "properties": { "instanceType": { - "description": "The class type.", + "description": "The instance type.", "type": "string" } }, "discriminator": "instanceType" }, - "AsrJobDetails": { - "description": "This class represents job details based on specific job type.", + "Network": { + "description": "Network model.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/Resource" } ], - "properties": {}, - "x-ms-discriminator-value": "AsrJobDetails" + "properties": { + "properties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The Network Properties." + } + } }, - "ASRTask": { - "description": "Task of the Job.", + "NetworkProperties": { + "description": "Network Properties", "type": "object", "properties": { - "taskId": { - "description": "The Id.", + "fabricType": { + "description": "The Fabric Type.", "type": "string" }, - "name": { - "description": "The unique Task name.", - "type": "string" + "subnets": { + "description": "The List of subnets.", + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "friendlyName": { + "description": "The Friendly Name.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "networkType": { + "description": "The Network Type.", + "type": "string" + } + } + }, + "Subnet": { + "description": "Subnets of the network.", + "type": "object", + "properties": { + "name": { + "description": "The subnet name.", "type": "string" }, - "allowedActions": { - "description": "The state/actions applicable on this task.", + "friendlyName": { + "description": "The subnet friendly name.", + "type": "string" + }, + "addressList": { + "description": "The list of addresses for the subnet.", "type": "array", "items": { "type": "string" } + } + } + }, + "NetworkCollection": { + "description": "List of networks.", + "type": "object", + "properties": { + "value": { + "description": "The Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/Network" + } }, - "friendlyName": { - "description": "The name.", - "type": "string" - }, - "state": { - "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", - "type": "string" - }, - "stateDescription": { - "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", - "type": "string" - }, - "taskType": { - "description": "The type of task. Details in CustomDetails property depend on this type.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "customDetails": { - "$ref": "#/definitions/TaskTypeDetails", - "description": "The custom task details based on the task type." - }, - "groupTaskCustomDetails": { - "$ref": "#/definitions/GroupTaskDetails", - "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." - }, - "errors": { - "description": "The task error details.", + } + } + }, + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", + "type": "object", + "properties": { + "value": { + "description": "The ClientDiscovery details.", "type": "array", "items": { - "$ref": "#/definitions/JobErrorDetails" + "$ref": "#/definitions/OperationsDiscovery" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "AutomationRunbookTaskDetails": { - "description": "This class represents the task details for an automation runbook.", + "OperationsDiscovery": { + "description": "Operations discovery class.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { "name": { - "description": "The recovery plan task name.", - "type": "string" - }, - "cloudServiceName": { - "description": "The cloud service of the automation runbook account.", + "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", "type": "string" }, - "subscriptionId": { - "description": "The subscription Id of the automation runbook account.", - "type": "string" + "display": { + "$ref": "#/definitions/Display", + "description": "Object type" }, - "accountName": { - "description": "The automation account name of the runbook.", + "origin": { + "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"", "type": "string" }, - "runbookId": { - "description": "The runbook Id.", + "properties": { + "$ref": "#/definitions/OperationsDiscoveryProperties", + "description": "Properties. Reserved for future use." + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", + "type": "object", + "properties": { + "provider": { + "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", "type": "string" }, - "runbookName": { - "description": "The runbook name.", + "resource": { + "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", "type": "string" }, - "jobId": { - "description": "The job Id of the runbook execution.", + "operation": { + "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'", "type": "string" }, - "jobOutput": { - "description": "The execution output of the runbook.", + "description": { + "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", "type": "string" - }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" } - }, - "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + } }, - "AzureFabricCreationInput": { - "description": "Fabric provider specific settings.", + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object", + "properties": {} + }, + "PolicyCollection": { + "description": "Protection Profile Collection details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreationInput" - } - ], "properties": { - "location": { - "description": "The Location.", + "value": { + "description": "The policy details.", + "type": "array", + "items": { + "$ref": "#/definitions/Policy" + } + }, + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "Azure" + } }, - "AzureFabricSpecificDetails": { - "description": "Azure Fabric Specific Details.", + "PolicyProperties": { + "description": "Protection profile custom data details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificDetails" - } - ], "properties": { - "location": { - "description": "The Location for the Azure fabric.", + "friendlyName": { + "description": "The FriendlyName.", "type": "string" }, - "containerIds": { - "description": "The container Ids for the Azure fabric.", - "type": "array", - "items": { - "type": "string" - } + "providerSpecificDetails": { + "$ref": "#/definitions/PolicyProviderSpecificDetails", + "description": "The ReplicationChannelSetting." + } + } + }, + "PolicyProviderSpecificDetails": { + "description": "Base class for Provider specific details for policies.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true } }, - "x-ms-discriminator-value": "Azure" + "discriminator": "instanceType" }, - "AzureToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", + "CreatePolicyInput": { + "description": "Protection Policy input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + "properties": { + "properties": { + "$ref": "#/definitions/CreatePolicyInputProperties", + "description": "Policy creation properties." } - ], + } + }, + "CreatePolicyInputProperties": { + "description": "Policy creation properties.", + "type": "object", "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", + "providerSpecificInput": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "PolicyProviderSpecificInput": { + "description": "Base class for provider specific input", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "AzureToAzure" + "discriminator": "instanceType" }, - "AzureToAzureUpdateNetworkMappingInput": { - "description": "Updates network mappings input.", + "Policy": { + "description": "Protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", - "type": "string" + "properties": { + "$ref": "#/definitions/PolicyProperties", + "description": "The custom data." } - }, - "x-ms-discriminator-value": "AzureToAzure" + } }, - "AzureToAzureVmSyncedConfigDetails": { - "description": "Azure to Azure VM synced configuration details.", + "UpdatePolicyInput": { + "description": "Update policy input.", "type": "object", "properties": { - "tags": { - "description": "The Azure VM tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "roleAssignments": { - "description": "The Azure role assignments.", + "properties": { + "$ref": "#/definitions/UpdatePolicyInputProperties", + "description": "The ReplicationProviderSettings." + } + } + }, + "UpdatePolicyInputProperties": { + "description": "Policy update properties.", + "type": "object", + "properties": { + "replicationProviderSettings": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "ProtectableItemCollection": { + "description": "Protectable item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protectable item details.", "type": "array", "items": { - "$ref": "#/definitions/RoleAssignment" + "$ref": "#/definitions/ProtectableItem" } }, - "inputEndpoints": { - "description": "The Azure VM input endpoints.", - "type": "array", - "items": { - "$ref": "#/definitions/InputEndpoint" - } + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "AzureVmDiskDetails": { - "description": "Disk details for E2A provider.", + "ProtectableItem": { + "description": "Replication protected item", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "vhdType": { - "description": "VHD type.", - "type": "string" - }, - "vhdId": { - "description": "The VHD id.", + "properties": { + "$ref": "#/definitions/ProtectableItemProperties", + "description": "The custom data." + } + } + }, + "ProtectableItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", "type": "string" }, - "vhdName": { - "description": "VHD name.", + "protectionStatus": { + "description": "The protection status.", "type": "string" }, - "maxSizeMB": { - "description": "Max side in MB.", + "replicationProtectedItemId": { + "description": "The ARM resource of protected items.", "type": "string" }, - "targetDiskLocation": { - "description": "Blob uri of the Azure disk.", + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", "type": "string" }, - "targetDiskName": { - "description": "The target Azure disk name.", - "type": "string" + "protectionReadinessErrors": { + "description": "The Current protection readiness errors.", + "type": "array", + "items": { + "type": "string" + } }, - "lunId": { - "description": "Ordinal\\LunId of the disk for the Azure VM.", - "type": "string" - } - } - }, - "ComputeSizeErrorDetails": { - "description": "Represents the error used to indicate why the target compute size is not applicable.", - "type": "object", - "properties": { - "message": { - "description": "The error message.", - "type": "string" + "supportedReplicationProviders": { + "description": "The list of replication providers supported for the protectable item.", + "type": "array", + "items": { + "type": "string" + } }, - "severity": { - "description": "The severity of the error.", - "type": "string" + "customDetails": { + "$ref": "#/definitions/ConfigurationSettings", + "description": "The Replication provider custom settings." } } }, @@ -7084,139 +7249,127 @@ }, "discriminator": "instanceType" }, - "ConfigureAlertRequest": { - "description": "Request to configure alerts for the system.", + "RemoveProtectionContainerMappingInput": { + "description": "Container unpairing input.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/ConfigureAlertRequestProperties", - "description": "The properties of a configure alert request." + "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." } } }, - "ConfigureAlertRequestProperties": { - "description": "Properties of a configure alert request.", + "RemoveProtectionContainerMappingInputProperties": { + "description": "Unpairing input properties.", "type": "object", "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", - "type": "string" - }, - "customEmailAddresses": { - "description": "The custom email address for sending emails.", - "type": "array", - "items": { - "type": "string" - } - }, - "locale": { - "description": "The locale for the email notification.", + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", + "description": "Provider specific input for unpairing." + } + } + }, + "ReplicationProviderContainerUnmappingInput": { + "description": "Provider specific input for unpairing operations.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } } }, - "ConsistencyCheckTaskDetails": { - "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", + "ProtectionContainerMapping": { + "description": "Protection container mapping object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/Resource" } ], - "properties": { - "vmDetails": { - "description": "The list of inconsistent Vm details.", - "type": "array", - "items": { - "$ref": "#/definitions/InconsistentVmDetails" - } - } - }, - "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" - }, - "CreateNetworkMappingInput": { - "description": "Create network mappings input.", - "type": "object", "properties": { "properties": { - "$ref": "#/definitions/CreateNetworkMappingInputProperties", - "description": "Input properties for creating network mapping." + "$ref": "#/definitions/ProtectionContainerMappingProperties", + "description": "The custom data." } } }, - "CreateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", + "ProtectionContainerMappingProperties": { + "description": "Protection container mapping properties.", "type": "object", "properties": { - "recoveryFabricName": { - "description": "Recovery fabric Name.", + "targetProtectionContainerId": { + "description": "Paired protection container ARM ID.", "type": "string" }, - "recoveryNetworkId": { - "description": "Recovery network Id.", + "targetProtectionContainerFriendlyName": { + "description": "Friendly name of paired container.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", - "description": "Fabric specific input properties." + "providerSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", + "description": "Provider specific provider details." + }, + "health": { + "description": "Health of pairing.", + "type": "string" + }, + "healthErrorDetails": { + "description": "Health error.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "Policy ARM Id.", + "type": "string" + }, + "state": { + "description": "Association Status", + "type": "string" + }, + "sourceProtectionContainerFriendlyName": { + "description": "Friendly name of source protection container.", + "type": "string" + }, + "sourceFabricFriendlyName": { + "description": "Friendly name of source fabric.", + "type": "string" + }, + "targetFabricFriendlyName": { + "description": "Friendly name of target fabric.", + "type": "string" + }, + "policyFriendlyName": { + "description": "Friendly name of replication policy.", + "type": "string" } } }, - "CreatePolicyInput": { - "description": "Protection profile input.", + "ProtectionContainerMappingProviderSpecificDetails": { + "description": "Container mapping provider specific details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/CreatePolicyInputProperties", - "description": "Policy creation properties." + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true } } }, - "CreatePolicyInputProperties": { - "description": "Policy creation properties.", + "CreateProtectionContainerMappingInput": { + "description": "Configure pairing input.", "type": "object", "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." + "properties": { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." } } }, - "CreateProtectionContainerInput": { - "description": "Create protection container input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreateProtectionContainerInputProperties", - "description": "Create protection container input properties." - } - } - }, - "CreateProtectionContainerInputProperties": { - "description": "Create protection container input properties.", - "type": "object", - "properties": { - "providerSpecificInput": { - "description": "Provider specific inputs for container creation.", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" - } - } - } - }, - "CreateProtectionContainerMappingInput": { - "description": "Configure pairing input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." - } - } - }, - "CreateProtectionContainerMappingInputProperties": { - "description": "Configure pairing input properties.", + "CreateProtectionContainerMappingInputProperties": { + "description": "Configure pairing input properties.", "type": "object", "properties": { "targetProtectionContainerId": { @@ -7233,137 +7386,119 @@ } } }, - "CreateRecoveryPlanInput": { - "description": "Create recovery plan input class.", - "required": [ - "properties" - ], + "ReplicationProviderSpecificContainerMappingInput": { + "description": "Provider specific input for pairing operations.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/CreateRecoveryPlanInputProperties", - "description": "Recovery plan creation properties." + "instanceType": { + "description": "The class type.", + "type": "string" } } }, - "CreateRecoveryPlanInputProperties": { - "description": "Recovery plan creation properties.", - "required": [ - "primaryFabricId", - "recoveryFabricId", - "groups" - ], + "ProtectionContainerCollection": { + "description": "Protection Container collection.", "type": "object", "properties": { - "primaryFabricId": { - "description": "The primary fabric Id.", - "type": "string" - }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", - "type": "string" - }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", - "enum": [ - "NotApplicable", - "Classic", - "ResourceManager" - ], - "type": "string", - "x-ms-enum": { - "name": "FailoverDeploymentModel", - "modelAsString": false - } - }, - "groups": { - "description": "The recovery plan groups.", + "value": { + "description": "The Protection Container details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "$ref": "#/definitions/ProtectionContainer" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "CurrentScenarioDetails": { - "description": "Current scenario details of the protected entity.", + "ProtectionContainer": { + "description": "Protection container details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "scenarioName": { - "description": "Scenario name.", - "type": "string" - }, - "jobId": { - "description": "ARM Id of the job being executed.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Start time of the workflow.", - "type": "string" + "properties": { + "$ref": "#/definitions/ProtectionContainerProperties", + "description": "The custom data." } } }, - "DataStore": { - "description": "The datastore details of the MT.", + "ProtectionContainerProperties": { + "description": "Protection profile custom data details.", "type": "object", "properties": { - "symbolicName": { - "description": "The symbolic name of data store.", + "fabricFriendlyName": { + "description": "Fabric friendly name.", "type": "string" }, - "uuid": { - "description": "The uuid of data store.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "capacity": { - "description": "The capacity of data store in GBs.", + "fabricType": { + "description": "The fabric type.", "type": "string" }, - "freeSpace": { - "description": "The free space of data store in GBs.", + "protectedItemCount": { + "format": "int32", + "description": "Number of protected PEs", + "type": "integer" + }, + "pairingStatus": { + "description": "The pairing status of this cloud.", "type": "string" }, - "type": { - "description": "The type of data store.", + "role": { + "description": "The role of this cloud.", "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", + "description": "Fabric specific details." } } }, - "DisableProtectionInput": { - "description": "Disable protection input.", + "ProtectionContainerFabricSpecificDetails": { + "description": "Base class for fabric specific details of container.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + } + }, + "CreateProtectionContainerInput": { + "description": "Create protection container input.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/DisableProtectionInputProperties", - "description": "Disable protection input properties." + "$ref": "#/definitions/CreateProtectionContainerInputProperties", + "description": "Create protection container input properties." } } }, - "DisableProtectionInputProperties": { - "description": "Disable protection input properties.", + "CreateProtectionContainerInputProperties": { + "description": "Create protection container input properties.", "type": "object", "properties": { - "disableProtectionReason": { - "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", - "enum": [ - "NotSpecified", - "MigrationComplete" - ], - "type": "string", - "x-ms-enum": { - "name": "DisableProtectionReason", - "modelAsString": false + "providerSpecificInput": { + "description": "Provider specific inputs for container creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" } - }, - "replicationProviderInput": { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput", - "description": "Replication provider specific input." } } }, - "DisableProtectionProviderSpecificInput": { - "description": "Disable protection provider specific input.", + "ReplicationProviderSpecificContainerCreationInput": { + "description": "Provider specific input for container creation operation.", "type": "object", "properties": { "instanceType": { @@ -7401,125 +7536,61 @@ } } }, - "DiskDetails": { - "description": "Onprem disk details data.", + "SwitchProtectionInput": { + "description": "Switch protection input.", "type": "object", "properties": { - "maxSizeMB": { - "format": "int64", - "description": "The hard disk max size in MB.", - "type": "integer" - }, - "vhdType": { - "description": "The type of the volume.", - "type": "string" - }, - "vhdId": { - "description": "The VHD Id.", - "type": "string" - }, - "vhdName": { - "description": "The VHD name.", - "type": "string" + "properties": { + "$ref": "#/definitions/SwitchProtectionInputProperties", + "description": "Switch protection properties" } } }, - "DiskVolumeDetails": { - "description": "Volume details.", + "SwitchProtectionInputProperties": { + "description": "Switch protection input properties.", "type": "object", "properties": { - "label": { - "description": "The volume label.", + "replicationProtectedItemName": { + "description": "The unique replication protected item name.", "type": "string" }, - "name": { - "description": "The volume name.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", + "description": "Provider specific switch protection input." } } }, - "Display": { - "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", + "SwitchProtectionProviderSpecificInput": { + "description": "Provider specific switch protection input.", "type": "object", "properties": { - "provider": { - "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", - "type": "string" - }, - "resource": { - "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", - "type": "string" - }, - "operation": { - "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'", - "type": "string" - }, - "description": { - "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", - "type": "string" + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true } - } + }, + "discriminator": "instanceType" }, - "EnableProtectionInput": { - "description": "Enable protection input.", + "RecoveryPlanCollection": { + "description": "Recovery plan collection details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/EnableProtectionInputProperties", - "description": "Enable protection input properties." - } - } - }, - "EnableProtectionInputProperties": { - "description": "Enable protection input properties.", - "type": "object", - "properties": { - "policyId": { - "description": "The Policy Id.", - "type": "string" - }, - "protectableItemId": { - "description": "The protectable item Id.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput", - "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." - } - } - }, - "EnableProtectionProviderSpecificInput": { - "description": "Enable protection provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "EncryptionDetails": { - "description": "Encryption details for the fabric.", - "type": "object", - "properties": { - "kekState": { - "description": "The key encryption key state for the Vmm.", - "type": "string" - }, - "kekCertThumbprint": { - "description": "The key encryption key certificate thumbprint.", - "type": "string" + "value": { + "description": "The list of recovery plans.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlan" + } }, - "kekCertExpiryDate": { - "format": "date-time", - "description": "The key encryption key certificate expiry date.", + "nextLink": { + "description": "The value of next link.", "type": "string" } } }, - "Event": { - "description": "Implements the Event class.", + "RecoveryPlan": { + "description": "Recovery plan details.", "type": "object", "allOf": [ { @@ -7528,1619 +7599,1682 @@ ], "properties": { "properties": { - "$ref": "#/definitions/EventProperties", - "description": "Event related data." - } - } - }, - "EventCollection": { - "description": "Collection of fabric details.", - "type": "object", - "properties": { - "value": { - "description": "The list of events.", - "type": "array", - "items": { - "$ref": "#/definitions/Event" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "$ref": "#/definitions/RecoveryPlanProperties", + "description": "The custom details." } } }, - "EventProperties": { - "description": "The properties of a monitoring event.", + "RecoveryPlanProperties": { + "description": "Recovery plan custom details.", "type": "object", "properties": { - "eventCode": { - "description": "The Id of the monitoring event.", - "type": "string" - }, - "description": { - "description": "The event name.", + "friendlyName": { + "description": "The friendly name.", "type": "string" }, - "eventType": { - "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", + "primaryFabricId": { + "description": "The primary fabric Id.", "type": "string" }, - "affectedObjectFriendlyName": { - "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", "type": "string" }, - "severity": { - "description": "The severity of the event.", + "recoveryFabricId": { + "description": "The recovery fabric Id.", "type": "string" }, - "timeOfOccurrence": { - "format": "date-time", - "description": "The time of occurence of the event.", + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", "type": "string" }, - "fabricId": { - "description": "The ARM ID of the fabric.", + "failoverDeploymentModel": { + "description": "The failover deployment model.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/EventProviderSpecificDetails", - "description": "The provider specific settings." - }, - "eventSpecificDetails": { - "$ref": "#/definitions/EventSpecificDetails", - "description": "The event specific settings." + "replicationProviders": { + "description": "The list of replication providers.", + "type": "array", + "items": { + "type": "string" + } }, - "healthErrors": { - "description": "The list of errors / warnings capturing details associated with the issue(s).", + "allowedOperations": { + "description": "The list of allowed operations.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "type": "string" } - } - } - }, - "EventProviderSpecificDetails": { - "description": "Model class for provider specific details for an event.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "EventQueryParameter": { - "description": "Implements the event query parameter.", - "type": "object", - "properties": { - "eventCode": { - "description": "The source id of the events to be queried.", - "type": "string" }, - "severity": { - "description": "The severity of the events to be queried.", + "lastPlannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last planned failover.", "type": "string" }, - "eventType": { - "description": "The type of the events to be queried.", + "lastUnplannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last unplanned failover.", "type": "string" }, - "fabricName": { - "description": "The affected object server id of the events to be queried.", + "lastTestFailoverTime": { + "format": "date-time", + "description": "The start time of the last test failover.", "type": "string" }, - "affectedObjectFriendlyName": { - "description": "The affected object name of the events to be queried.", - "type": "string" + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario details." }, - "startTime": { - "format": "date-time", - "description": "The start time of the time range within which the events are to be queried.", + "currentScenarioStatus": { + "description": "The recovery plan status.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time of the time range within which the events are to be queried.", + "currentScenarioStatusDescription": { + "description": "The recovery plan status description.", "type": "string" + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } } } }, - "EventSpecificDetails": { - "description": "Model class for event specific details for an event.", + "RecoveryPlanGroup": { + "description": "Recovery plan group details.", + "required": [ + "groupType" + ], "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", + "groupType": { + "description": "The group type.", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "RecoveryPlanGroupType", + "modelAsString": false + } + }, + "replicationProtectedItems": { + "description": "The list of protected items.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + "startGroupActions": { + "description": "The start group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + "endGroupActions": { + "description": "The end group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } } - }, - "discriminator": "instanceType" + } }, - "ExportJobDetails": { - "description": "This class represents details for export jobs workflow.", + "RecoveryPlanProtectedItem": { + "description": "Recovery plan protected item.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/JobDetails" - } - ], "properties": { - "blobUri": { - "description": "BlobUri of the exported jobs.", + "id": { + "description": "The ARM Id of the recovery plan protected item.", "type": "string" }, - "sasToken": { - "description": "The sas token to access blob.", + "virtualMachineId": { + "description": "The virtual machine Id.", "type": "string" } - }, - "x-ms-discriminator-value": "ExportJobDetails" + } }, - "Fabric": { - "description": "Fabric definition.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "RecoveryPlanAction": { + "description": "Recovery plan action details.", + "required": [ + "actionName", + "failoverTypes", + "failoverDirections", + "customDetails" ], - "properties": { - "properties": { - "$ref": "#/definitions/FabricProperties", - "description": "Fabric related data." - } - } - }, - "FabricCollection": { - "description": "Collection of fabric details.", "type": "object", "properties": { - "value": { - "description": "The fabric details.", + "actionName": { + "description": "The action name.", + "type": "string" + }, + "failoverTypes": { + "description": "The list of failover types.", "type": "array", "items": { - "$ref": "#/definitions/Fabric" + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationProtectedItemOperation", + "modelAsString": false + } } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "failoverDirections": { + "description": "The list of failover directions.", + "type": "array", + "items": { + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + } + }, + "customDetails": { + "$ref": "#/definitions/RecoveryPlanActionDetails", + "description": "The custom details." } } }, - "FabricCreationInput": { - "description": "Site details provided during the time of site creation", + "RecoveryPlanActionDetails": { + "description": "Recovery plan action custom details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/FabricCreationInputProperties", - "description": "Fabric creation input." + "instanceType": { + "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true } - } + }, + "discriminator": "instanceType" }, - "FabricCreationInputProperties": { - "description": "Properties of site details provided during the time of site creation", + "CreateRecoveryPlanInput": { + "description": "Create recovery plan input class.", + "required": [ + "properties" + ], "type": "object", "properties": { - "customDetails": { - "$ref": "#/definitions/FabricSpecificCreationInput", - "description": "Fabric provider specific creation input." + "properties": { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties", + "description": "Recovery plan creation properties." } } }, - "FabricProperties": { - "description": "Fabric properties.", + "CreateRecoveryPlanInputProperties": { + "description": "Recovery plan creation properties.", + "required": [ + "primaryFabricId", + "recoveryFabricId", + "groups" + ], "type": "object", "properties": { - "friendlyName": { - "description": "Friendly name of the fabric.", - "type": "string" - }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Encryption details for the fabric." - }, - "rolloverEncryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Rollover encryption details for the fabric." - }, - "internalIdentifier": { - "description": "Dra Registration Id.", + "primaryFabricId": { + "description": "The primary fabric Id.", "type": "string" }, - "bcdrState": { - "description": "BCDR state of the fabric.", + "recoveryFabricId": { + "description": "The recovery fabric Id.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/FabricSpecificDetails", - "description": "Fabric specific settings." + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ], + "type": "string", + "x-ms-enum": { + "name": "FailoverDeploymentModel", + "modelAsString": false + } }, - "healthErrorDetails": { - "description": "Fabric health error details.", + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/RecoveryPlanGroup" } - }, - "health": { - "description": "Health of fabric.", - "type": "string" } } }, - "FabricReplicationGroupTaskDetails": { - "description": "This class represents the fabric replication group task details.", + "UpdateRecoveryPlanInput": { + "description": "Update recovery plan input class.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "skippedReason": { - "description": "The skipped reason.", - "type": "string" - }, - "skippedReasonString": { - "description": "The skipped reason string.", - "type": "string" - }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "properties": { + "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", + "description": "Recovery plan update properties." } - }, - "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + } }, - "FabricSpecificCreateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", + "UpdateRecoveryPlanInputProperties": { + "description": "Recovery plan updation properties.", "type": "object", "properties": { - "instanceType": { - "description": "The instance type.", - "type": "string" + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } } - }, - "discriminator": "instanceType" + } }, - "FabricSpecificCreationInput": { - "description": "Fabric provider specific settings.", + "RecoveryPlanPlannedFailoverInput": { + "description": "Recovery plan planned failover input.", + "required": [ + "properties" + ], "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", + "description": "The recovery plan planned failover input properties." } - }, - "discriminator": "instanceType" + } }, - "FabricSpecificDetails": { - "description": "Fabric specific details.", + "RecoveryPlanPlannedFailoverInputProperties": { + "description": "Recovery plan planned failover input properties.", + "required": [ + "failoverDirection" + ], "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type. Overridden in derived classes.", + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } } - }, - "discriminator": "instanceType" + } }, - "FabricSpecificUpdateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", + "RecoveryPlanProviderSpecificFailoverInput": { + "description": "Recovery plan provider specific failover input base class.", "type": "object", "properties": { "instanceType": { - "description": "The instance type.", + "description": "The class type.", "type": "string" } }, "discriminator": "instanceType" }, - "FailoverJobDetails": { - "description": "This class represents the details for a failover job.", + "RecoveryPlanUnplannedFailoverInput": { + "description": "Recovery plan unplanned failover input.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/JobDetails" + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", + "description": "The recovery plan unplanned failover input properties." } + } + }, + "RecoveryPlanUnplannedFailoverInputProperties": { + "description": "Recovery plan unplanned failover input properties.", + "required": [ + "failoverDirection", + "sourceSiteOperations" ], + "type": "object", "properties": { - "protectedItemDetails": { - "description": "The test VM details.", + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "sourceSiteOperations": { + "description": "A value indicating whether source site operations are required.", + "enum": [ + "Required", + "NotRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceSiteOperations", + "modelAsString": false + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", "type": "array", "items": { - "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } } - }, - "x-ms-discriminator-value": "FailoverJobDetails" + } }, - "FailoverProcessServerRequest": { - "description": "Request to failover a process server.", + "RecoveryPlanTestFailoverInput": { + "description": "Recovery plan test failover input.", + "required": [ + "properties" + ], "type": "object", "properties": { "properties": { - "$ref": "#/definitions/FailoverProcessServerRequestProperties", - "description": "The properties of the PS Failover request." + "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", + "description": "The recovery plan test failover input properties." } } }, - "FailoverProcessServerRequestProperties": { - "description": "The properties of the Failover Process Server request.", + "RecoveryPlanTestFailoverInputProperties": { + "description": "Recovery plan test failover input properties.", + "required": [ + "failoverDirection", + "networkType" + ], "type": "object", "properties": { - "containerName": { - "description": "The container identifier.", + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + }, + "networkType": { + "description": "The network type to be used for test failover.", "type": "string" }, - "sourceProcessServerId": { - "description": "The source process server.", + "networkId": { + "description": "The Id of the network to be used for test failover.", "type": "string" }, - "targetProcessServerId": { - "description": "The new process server.", + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", "type": "string" }, - "vmsToMigrate": { - "description": "The VMS to migrate.", + "providerSpecificDetails": { + "description": "The provider specific properties.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } - }, - "updateType": { - "description": "A value for failover type. It can be systemlevel/serverlevel", - "type": "string" } } }, - "FailoverReplicationProtectedItemDetails": { - "description": "Failover details for a replication protected item.", + "RecoveryPlanTestFailoverCleanupInput": { + "description": "Recovery plan test failover cleanup input.", + "required": [ + "properties" + ], "type": "object", "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "friendlyName": { - "description": "The friendly name.", - "type": "string" - }, - "testVmName": { - "description": "The test Vm name.", - "type": "string" - }, - "testVmFriendlyName": { - "description": "The test Vm friendly name.", - "type": "string" - }, - "networkConnectionStatus": { - "description": "The network connection status.", - "type": "string" - }, - "networkFriendlyName": { - "description": "The network friendly name.", - "type": "string" - }, - "subnet": { - "description": "The network subnet.", + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", + "description": "The recovery plan test failover cleanup input properties." + } + } + }, + "RecoveryPlanTestFailoverCleanupInputProperties": { + "description": "Recovery plan test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "The test failover cleanup comments.", "type": "string" + } + } + }, + "RecoveryPointCollection": { + "description": "Collection of recovery point details.", + "type": "object", + "properties": { + "value": { + "description": "The recovery point details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPoint" + } }, - "recoveryPointId": { - "description": "The recovery point Id.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, + } + } + }, + "RecoveryPoint": { + "description": "Base class representing a recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Recovery point related data." + } + } + }, + "RecoveryPointProperties": { + "description": "Recovery point properties.", + "type": "object", + "properties": { "recoveryPointTime": { "format": "date-time", "description": "The recovery point time.", "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", + "description": "The provider specific details for the recovery point." } } }, - "GroupTaskDetails": { - "description": "This class represents the group task details when parent child relationship exists in the drill down.", + "ProviderSpecificRecoveryPointDetails": { + "description": "Replication provider specific recovery point details.", "type": "object", "properties": { "instanceType": { - "description": "The type of task details.", - "type": "string" - }, - "childTasks": { - "description": "The child tasks.", - "type": "array", - "items": { - "$ref": "#/definitions/ASRTask" - } + "description": "Gets the provider type.", + "type": "string", + "readOnly": true } }, "discriminator": "instanceType" }, - "HealthError": { - "description": "Health Error", + "RecoveryServicesProviderCollection": { + "description": "Collection of providers.", "type": "object", "properties": { - "innerHealthErrors": { - "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "value": { + "description": "The Servers details.", "type": "array", "items": { - "$ref": "#/definitions/InnerHealthError" + "$ref": "#/definitions/RecoveryServicesProvider" } }, - "errorSource": { - "description": "Source of error.", + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryServicesProvider": { + "description": "Provider details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryServicesProviderProperties", + "description": "Provider properties." + } + } + }, + "RecoveryServicesProviderProperties": { + "description": "Recovery services provider properties.", + "type": "object", + "properties": { + "fabricType": { + "description": "Type of the site.", "type": "string" }, - "errorType": { - "description": "Type of error.", + "friendlyName": { + "description": "Friendly name of the DRA.", "type": "string" }, - "errorLevel": { - "description": "Level of error.", + "providerVersion": { + "description": "The provider version.", "type": "string" }, - "errorCategory": { - "description": "Category of error.", + "serverVersion": { + "description": "The fabric provider.", "type": "string" }, - "errorCode": { - "description": "Error code.", + "providerVersionState": { + "description": "DRA version status.", "type": "string" }, - "summaryMessage": { - "description": "Summary message of the entity.", + "providerVersionExpiryDate": { + "format": "date-time", + "description": "Expiry date of the version.", "type": "string" }, - "errorMessage": { - "description": "Error message.", + "fabricFriendlyName": { + "description": "The fabric friendly name.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", + "lastHeartBeat": { + "format": "date-time", + "description": "Time when last heartbeat was sent by the DRA.", "type": "string" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", + "connectionStatus": { + "description": "A value indicating whether DRA is responsive.", "type": "string" }, - "creationTimeUtc": { - "format": "date-time", - "description": "Error creation time (UTC)", - "type": "string" + "protectedItemCount": { + "format": "int32", + "description": "Number of protected VMs currently managed by the DRA.", + "type": "integer" }, - "recoveryProviderErrorMessage": { - "description": "DRA error message.", - "type": "string" + "allowedScenarios": { + "description": "The scenarios allowed on this provider.", + "type": "array", + "items": { + "type": "string" + } }, - "entityId": { - "description": "ID of the entity.", + "healthErrorDetails": { + "description": "The recovery services provider health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "draIdentifier": { + "description": "The DRA Id.", "type": "string" + }, + "identityDetails": { + "$ref": "#/definitions/IdentityInformation", + "description": "The identity details." + }, + "providerVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The provider version details." } } }, - "HealthErrorSummary": { - "description": "class to define the summary of the health error details.", + "IdentityInformation": { + "description": "Identity details.", "type": "object", "properties": { - "summaryCode": { - "description": "The code of the health error.", - "type": "string" - }, - "category": { - "description": "The category of the health error.", - "enum": [ - "None", - "Replication", - "TestFailover", - "Configuration", - "FabricInfrastructure", - "VersionExpiry" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthErrorCategory", - "modelAsString": false - } - }, - "severity": { - "description": "Severity of error.", + "identityProviderType": { + "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.", "enum": [ - "NONE", - "Warning", - "Error", - "Info" + "RecoveryServicesActiveDirectory" ], "type": "string", "x-ms-enum": { - "name": "Severity", + "name": "IdentityProviderType", "modelAsString": false } }, - "summaryMessage": { - "description": "The summary message of the health error.", - "type": "string" - }, - "affectedResourceType": { - "description": "The type of affected ARM resource.", + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "affectedResourceSubtype": { - "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "affectedResourceCorrelationIds": { - "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "HyperVReplica2012EventDetails": { - "description": "Model class for event details of a HyperVReplica E2E event.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" - } - ], - "properties": { - "containerName": { - "description": "The container friendly name.", + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", + "certificateThumbprint": { + "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVReplica2012R2EventDetails": { - "description": "Model class for event details of a HyperVReplica blue E2E event.", + "VersionDetails": { + "description": "Version related deatils.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" - } - ], "properties": { - "containerName": { - "description": "The container friendly name.", - "type": "string" - }, - "fabricName": { - "description": "The fabric friendly name.", + "version": { + "description": "The agent version.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", - "type": "string" + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "HyperVReplicaAzureApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", + "ReplicationProtectedItem": { + "description": "Replication protected item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", - "type": "string" - }, - "primaryKekCertificatePfx": { - "description": "The primary kek certificate pfx.", - "type": "string" - }, - "secondaryKekCertificatePfx": { - "description": "The secondary kek certificate pfx.", - "type": "string" + "properties": { + "$ref": "#/definitions/ReplicationProtectedItemProperties", + "description": "The custom data." } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "HyperVReplicaAzureEnableProtectionInput": { - "description": "Azure specific enable protection input.", + "ReplicationProtectedItemProperties": { + "description": "Replication protected item custom data details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "vmName": { - "description": "The Vm Name.", + "protectedItemType": { + "description": "The type of protected item type.", "type": "string" }, - "osType": { - "description": "The OS type associated with vm.", + "protectableItemId": { + "description": "The protected item ARM Id.", "type": "string" }, - "vhdId": { - "description": "The OS disk VHD id associated with vm.", + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", "type": "string" }, - "targetStorageAccountId": { - "description": "The storage account name.", + "primaryFabricFriendlyName": { + "description": "The friendly name of the primary fabric.", "type": "string" }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", + "primaryFabricProvider": { + "description": "The fabric provider of the primary fabric.", "type": "string" }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", + "recoveryFabricFriendlyName": { + "description": "The friendly name of recovery fabric.", "type": "string" }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "recoveryFabricId": { + "description": "The Arm Id of recovery fabric.", "type": "string" }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", + "primaryProtectionContainerFriendlyName": { + "description": "The name of primary protection container friendly name.", "type": "string" }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "recoveryProtectionContainerFriendlyName": { + "description": "The name of recovery container friendly name.", "type": "string" }, - "disksToInclude": { - "description": "The list of VHD IDs of disks to be protected.", + "protectionState": { + "description": "The protection status.", + "type": "string" + }, + "protectionStateDescription": { + "description": "The protection state description.", + "type": "string" + }, + "activeLocation": { + "description": "The Current active location of the PE.", + "type": "string" + }, + "testFailoverState": { + "description": "The Test failover state.", + "type": "string" + }, + "testFailoverStateDescription": { + "description": "The Test failover state description.", + "type": "string" + }, + "allowedOperations": { + "description": "The allowed operations on the Replication protected item.", "type": "array", "items": { "type": "string" } }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "replicationHealth": { + "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", "type": "string" }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "failoverHealth": { + "description": "The consolidated failover health for the VM.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "HyperVReplicaAzureEventDetails": { - "description": "Model class for event details of a HyperVReplica E2A event.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" - } - ], - "properties": { - "containerName": { - "description": "The container friendly name.", + "healthErrors": { + "description": "List of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "The ID of Policy governing this PE.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "policyFriendlyName": { + "description": "The name of Policy governing this PE.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "lastSuccessfulFailoverTime": { + "format": "date-time", + "description": "The Last successful failover time.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "HyperVReplicaAzureFailbackProviderInput": { - "description": "HvrA provider specific input for failback.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], - "properties": { - "dataSyncOption": { - "description": "Data sync option.", + }, + "lastSuccessfulTestFailoverTime": { + "format": "date-time", + "description": "The Last successful test failover time.", "type": "string" }, - "recoveryVmCreationOption": { - "description": "ALR options to create alternate recovery.", + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario." + }, + "failoverRecoveryPointId": { + "description": "The recovery point ARM Id to which the Vm was failed over.", "type": "string" }, - "providerIdForAlternateRecovery": { - "description": "Provider ID for alternate location", + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProviderSpecificSettings", + "description": "The Replication provider custom settings." + }, + "recoveryContainerId": { + "description": "The recovery container Id.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + } }, - "HyperVReplicaAzureFailoverProviderInput": { - "description": "HvrA provider specific input for failover.", + "CurrentScenarioDetails": { + "description": "Current scenario details of the protected entity.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], "properties": { - "vaultLocation": { - "description": "Location of the vault.", - "type": "string" - }, - "primaryKekCertificatePfx": { - "description": "Primary kek certificate pfx.", + "scenarioName": { + "description": "Scenario name.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "Secondary kek certificate pfx.", + "jobId": { + "description": "ARM Id of the job being executed.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "startTime": { + "format": "date-time", + "description": "Start time of the workflow.", "type": "string" } + } + }, + "ReplicationProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "HyperVReplicaAzurePolicyDetails": { - "description": "Hyper-V Replica Azure specific protection profile details.", + "EnableProtectionInput": { + "description": "Enable protection input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "properties": { + "properties": { + "$ref": "#/definitions/EnableProtectionInputProperties", + "description": "Enable protection input properties." } - ], + } + }, + "EnableProtectionInputProperties": { + "description": "Enable protection input properties.", + "type": "object", "properties": { - "recoveryPointHistoryDurationInHours": { - "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be maintained.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", - "type": "integer" - }, - "replicationInterval": { - "format": "int32", - "description": "The replication interval.", - "type": "integer" - }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "policyId": { + "description": "The Policy Id.", "type": "string" }, - "encryption": { - "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", + "protectableItemId": { + "description": "The protectable item Id.", "type": "string" }, - "activeStorageAccountId": { - "description": "The active storage account Id.", + "providerSpecificDetails": { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "EnableProtectionProviderSpecificInput": { + "description": "Enable protection provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "HyperVReplicaAzurePolicyInput": { - "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "UpdateReplicationProtectedItemInput": { + "description": "Update replication protected item input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", + "description": "Update replication protected item properties." } - ], + } + }, + "UpdateReplicationProtectedItemInputProperties": { + "description": "Update protected item input properties.", + "type": "object", "properties": { - "recoveryPointHistoryDuration": { - "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be maintained.", - "type": "integer" + "recoveryAzureVMName": { + "description": "Target azure VM name given by the user.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", - "type": "integer" + "recoveryAzureVMSize": { + "description": "Target Azure Vm size.", + "type": "string" }, - "replicationInterval": { - "format": "int32", - "description": "The replication interval.", - "type": "integer" + "selectedRecoveryAzureNetworkId": { + "description": "Target Azure Network Id.", + "type": "string" }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" }, - "storageAccounts": { - "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "vmNics": { + "description": "The list of vm nic details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/VMNicInputDetails" } - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "HyperVReplicaAzureReplicationDetails": { - "description": "Hyper V Replica Azure provider specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" - } - ], - "properties": { - "azureVmDiskDetails": { - "description": "Azure VM Disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureVmDiskDetails" - } - }, - "recoveryAzureVmName": { - "description": "Recovery Azure given name.", - "type": "string" - }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", - "type": "string" - }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", - "type": "string" - }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", - "type": "string" - }, - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "rpoInSeconds": { - "format": "int64", - "description": "Last RPO value.", - "type": "integer" - }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", - "type": "string" - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" - }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" - }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": false } }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", - "type": "string" - }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", - "type": "string" - }, - "encryption": { - "description": "The encryption info.", - "type": "string" - }, - "oSDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The operating system info." - }, - "sourceVmRamSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "sourceVmCpuCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" - }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", - "type": "string" - }, "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", - "type": "string" - }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "description": "The target availability set id.", "type": "string" }, - "licenseType": { - "description": "License Type of the VM to be used.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", + "description": "The provider specific input to update replication protected item." } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "HyperVReplicaAzureReprotectInput": { - "description": "Azure specific reprotect input.", + "VMNicInputDetails": { + "description": "Hyper V VM network input details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" - } - ], "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", - "type": "string" - }, - "vmName": { - "description": "The Vm Name.", - "type": "string" - }, - "osType": { - "description": "The OS type associated with vm.", + "nicId": { + "description": "The nic Id.", "type": "string" }, - "vHDId": { - "description": "The OS disk VHD id associated with vm.", + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", "type": "string" }, - "storageAccountId": { - "description": "The storage account name.", + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", "type": "string" }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "selectionType": { + "description": "Selection type for failover.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { - "description": "HyperV replica Azure input to update replication protected item.", + "UpdateReplicationProtectedItemProviderInput": { + "description": "Update replication protected item provider specific input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" - } - ], "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", - "type": "string" - }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", - "type": "string" - }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "HyperVReplicaBaseEventDetails": { - "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "DisableProtectionInput": { + "description": "Disable protection input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" + "properties": { + "properties": { + "$ref": "#/definitions/DisableProtectionInputProperties", + "description": "Disable protection input properties." } - ], + } + }, + "DisableProtectionInputProperties": { + "description": "Disable protection input properties.", + "type": "object", "properties": { - "containerName": { - "description": "The container friendly name.", - "type": "string" - }, - "fabricName": { - "description": "The fabric friendly name.", - "type": "string" - }, - "remoteContainerName": { - "description": "The remote container name.", - "type": "string" + "disableProtectionReason": { + "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "enum": [ + "NotSpecified", + "MigrationComplete" + ], + "type": "string", + "x-ms-enum": { + "name": "DisableProtectionReason", + "modelAsString": false + } }, - "remoteFabricName": { - "description": "The remote fabric name.", + "replicationProviderInput": { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput", + "description": "Replication provider specific input." + } + } + }, + "DisableProtectionProviderSpecificInput": { + "description": "Disable protection provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + "discriminator": "instanceType" }, - "HyperVReplicaBasePolicyDetails": { - "description": "Base class for HyperVReplica policy details.", + "PlannedFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" - }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", - "type": "string" - }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", - "type": "string" - }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", - "type": "string" - }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "properties": { + "$ref": "#/definitions/PlannedFailoverInputProperties", + "description": "Planned failover input properties" + } + } + }, + "PlannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" - }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" - }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" + } + } + }, + "ProviderSpecificFailoverInput": { + "description": "Provider specific failover input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" + "discriminator": "instanceType" }, - "HyperVReplicaBaseReplicationDetails": { - "description": "Hyper V replica provider specific settings base class.", + "UnplannedFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "properties": { + "properties": { + "$ref": "#/definitions/UnplannedFailoverInputProperties", + "description": "Planned failover input properties" } - ], + } + }, + "UnplannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "sourceSiteOperations": { + "description": "Source site operations status", "type": "string" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vMDiskDetails": { - "description": "VM disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" - } + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" } - }, - "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + } }, - "HyperVReplicaBluePolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", + "TestFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverInputProperties", + "description": "Planned failover input properties" } - ], + } + }, + "TestFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" - }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" - }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "networkType": { + "description": "Network type to be used for test failover.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "networkId": { + "description": "The id of the network to be used for test failover", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" - }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" - }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "HyperVReplicaBluePolicyInput": { - "description": "HyperV Replica Blue policy input.", + "TestFailoverCleanupInput": { + "description": "Input definition for test failover cleanup.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverCleanupInputProperties", + "description": "Test failover cleanup input properties." } - ], + } + }, + "TestFailoverCleanupInputProperties": { + "description": "Input definition for test failover cleanup input properties.", + "type": "object", "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" - }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "comments": { + "description": "Test failover cleanup comments.", "type": "string" - }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + } + } + }, + "ReverseReplicationInput": { + "description": "Reverse replication input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ReverseReplicationInputProperties", + "description": "Reverse replication properties" + } + } + }, + "ReverseReplicationInputProperties": { + "description": "Reverse replication input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", - "type": "string" - }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "providerSpecificDetails": { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", + "description": "Provider specific reverse replication input." + } + } + }, + "ReverseReplicationProviderSpecificInput": { + "description": "Provider specific reverse replication input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + } + }, + "discriminator": "instanceType" + }, + "UpdateMobilityServiceRequest": { + "description": "Request to update the mobility service on a protected item.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", + "description": "The properties of the update mobility service request." + } + } + }, + "UpdateMobilityServiceRequestProperties": { + "description": "The properties of an update mobility service request.", + "type": "object", + "properties": { + "runAsAccountId": { + "description": "The CS run as account Id.", + "type": "string" + } + } + }, + "ApplyRecoveryPointInput": { + "description": "Input to apply recovery point.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ApplyRecoveryPointInputProperties", + "description": "The input properties to apply recovery point." + } + } + }, + "ApplyRecoveryPointInputProperties": { + "description": "Input properties to apply recovery point.", + "type": "object", + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" - }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" - }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", + "providerSpecificDetails": { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", + "description": "Provider specific input for applying recovery point." + } + } + }, + "ApplyRecoveryPointProviderSpecificInput": { + "description": "Provider specific input for apply recovery point.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + "discriminator": "instanceType" }, - "HyperVReplicaBlueReplicationDetails": { - "description": "HyperV replica 2012 R2 (Blue) replication details.", + "StorageClassificationCollection": { + "description": "Collection of storage details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassification" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "StorageClassification": { + "description": "Storage object definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/Resource" } ], "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", + "properties": { + "$ref": "#/definitions/StorageClassificationProperties", + "description": "Proprties of the storage object." + } + } + }, + "StorageClassificationProperties": { + "description": "Storage object properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the Storage classification.", "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", + } + } + }, + "StorageClassificationMappingCollection": { + "description": "Collection of storage mapping details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "$ref": "#/definitions/StorageClassificationMapping" } }, - "vmId": { - "description": "The virtual machine Id.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", + } + } + }, + "StorageClassificationMapping": { + "description": "Storage mapping object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageClassificationMappingProperties", + "description": "Proprties of the storage mappping object." + } + } + }, + "StorageClassificationMappingProperties": { + "description": "Storage mapping properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "Target storage object Id.", "type": "string" - }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + } + } + }, + "StorageClassificationMappingInput": { + "description": "Storage mapping input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/StorageMappingInputProperties", + "description": "Storage mapping input properties." + } + } + }, + "StorageMappingInputProperties": { + "description": "Storage mapping input properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "The ID of the storage object.", "type": "string" - }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vMDiskDetails": { - "description": "VM disk details.", + } + } + }, + "VCenterCollection": { + "description": "Collection of vCenter details.", + "type": "object", + "properties": { + "value": { + "description": "The vCenter details.", "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/VCenter" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "HyperVReplicaPolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", + "VCenter": { + "description": "vCenter definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "VCenter related data." + } + } + }, + "VCenterProperties": { + "description": "vCenter properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the vCenter.", + "type": "string" }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "internalId": { + "description": "VCenter internal ID.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "lastHeartbeat": { + "format": "date-time", + "description": "The time when the last heartbeat was reveived by vCenter.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "discoveryStatus": { + "description": "The VCenter discovery status.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "ipAddress": { + "description": "The IP address of the vCenter.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "infrastructureId": { + "description": "The infrastructure Id of vCenter.", + "type": "string" }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "port": { + "description": "The port number for discovery.", + "type": "string" }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + }, + "fabricArmResourceName": { + "description": "The ARM resource name of the fabric containing this VCenter.", "type": "string" + }, + "healthErrors": { + "description": "The health errors for this VCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVReplicaPolicyInput": { - "description": "Hyper-V Replica specific protection profile Input.", + "AddVCenterRequest": { + "description": "Input required to add vCenter.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/AddVCenterRequestProperties", + "description": "The properties of an add vCenter request." } - ], + } + }, + "AddVCenterRequestProperties": { + "description": "The properties of an add vCenter request.", + "type": "object", "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" - }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "friendlyName": { + "description": "The friendly name of the vCenter.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "processServerId": { + "description": "The process server Id from where the discovery is orchestrated.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "port": { + "description": "The port number for discovery.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" - }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" - }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVReplicaReplicationDetails": { - "description": "HyperV replica 2012 replication details.", + "UpdateVCenterRequest": { + "description": "Input required to update vCenter.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateVCenterRequestProperties", + "description": "The update VCenter Request Properties." } - ], + } + }, + "UpdateVCenterRequestProperties": { + "description": "The properties of an update vCenter request.", + "type": "object", "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", + "friendlyName": { + "description": "The friendly name of the vCenter.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "processServerId": { + "description": "The process server Id from where the update can be orchestrated.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "port": { + "description": "The port number for discovery.", "type": "string" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vMDiskDetails": { - "description": "VM disk details.", + "runAsAccountId": { + "description": "The CS account Id which has priviliges to update the vCenter.", + "type": "string" + } + } + }, + "RenewCertificateInput": { + "description": "Certificate renewal input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RenewCertificateInputProperties", + "description": "Renew certificate input properties." + } + } + }, + "RenewCertificateInputProperties": { + "description": "Renew Certificate input properties.", + "type": "object", + "properties": { + "renewCertificateType": { + "description": "Renew certificate type.", + "type": "string" + } + } + }, + "NetworkMappingCollection": { + "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", + "type": "object", + "properties": { + "value": { + "description": "The Network Mappings list.", "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/NetworkMapping" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVSiteDetails": { - "description": "HyperVSite fabric specific details.", + "VaultHealthDetails": { + "description": "Vault health details definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/Resource" } ], - "properties": {}, - "x-ms-discriminator-value": "HyperVSite" + "properties": { + "properties": { + "$ref": "#/definitions/VaultHealthProperties", + "description": "The vault health related data." + } + } }, - "HyperVVirtualMachineDetails": { - "description": "Single Host fabric provider specific VM settings.", + "VaultHealthProperties": { + "description": "class to define the health summary of the Vault.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" - } - ], "properties": { - "sourceItemId": { - "description": "The source id of the object.", - "type": "string" - }, - "generation": { - "description": "The id of the object in fabric.", - "type": "string" - }, - "osDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The Last replication time." - }, - "diskDetails": { - "description": "The Last successful failover time.", + "vaultErrors": { + "description": "The list of errors on the vault.", "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/HealthError" } }, - "hasPhysicalDisk": { - "description": "A value indicating whether the VM has a physical disk attached.", - "type": "boolean" - }, - "hasFibreChannelAdapter": { - "description": "A value indicating whether the VM has a fibre channel adapter attached.", - "type": "boolean" + "protectedItemsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the protected items in the vault." }, - "hasSharedVhd": { - "description": "A value indicating whether the VM has a shared VHD attached.", - "type": "boolean" + "fabricsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the fabrics in the vault." } - }, - "x-ms-discriminator-value": "HyperVVirtualMachine" + } }, - "IdentityInformation": { - "description": "Identity details.", + "ResourceHealthSummary": { + "description": "Base class to define the health summary of the resources contained under an Arm resource.", "type": "object", "properties": { - "identityProviderType": { - "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.", + "resourceCount": { + "format": "int32", + "description": "The count of total resources umder the container.", + "type": "integer" + }, + "issues": { + "description": "The list of summary of health errors across the resources under the container.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorSummary" + } + } + } + }, + "HealthErrorSummary": { + "description": "class to define the summary of the health error details.", + "type": "object", + "properties": { + "summaryCode": { + "description": "The code of the health error.", + "type": "string" + }, + "category": { + "description": "The category of the health error.", "enum": [ - "RecoveryServicesActiveDirectory" + "None", + "Replication", + "TestFailover", + "Configuration", + "FabricInfrastructure", + "VersionExpiry" ], "type": "string", "x-ms-enum": { - "name": "IdentityProviderType", + "name": "HealthErrorCategory", "modelAsString": false } }, - "tenantId": { - "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", - "type": "string" - }, - "applicationId": { - "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", - "type": "string" - }, - "objectId": { - "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", - "type": "string" - }, - "audience": { - "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", - "type": "string" + "severity": { + "description": "Severity of error.", + "enum": [ + "NONE", + "Warning", + "Error", + "Info" + ], + "type": "string", + "x-ms-enum": { + "name": "Severity", + "modelAsString": false + } }, - "aadAuthority": { - "description": "The base authority for Azure Active Directory authentication.", + "summaryMessage": { + "description": "The summary message of the health error.", "type": "string" }, - "certificateThumbprint": { - "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.", - "type": "string" - } - } - }, - "InconsistentVmDetails": { - "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", - "type": "object", - "properties": { - "vmName": { - "description": "The Vm name.", + "affectedResourceType": { + "description": "The type of affected ARM resource.", "type": "string" }, - "cloudName": { - "description": "The Cloud name.", + "affectedResourceSubtype": { + "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", "type": "string" }, - "details": { - "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", - "type": "array", - "items": { - "type": "string" - } - }, - "errorIds": { - "description": "The list of error ids.", + "affectedResourceCorrelationIds": { + "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", "type": "array", "items": { "type": "string" @@ -9148,927 +9282,984 @@ } } }, - "InitialReplicationDetails": { - "description": "Initial replication details.", + "EventCollection": { + "description": "Collection of fabric details.", "type": "object", "properties": { - "initialReplicationType": { - "description": "Initial replication type.", - "type": "string" + "value": { + "description": "The list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } }, - "initialReplicationProgressPercentage": { - "description": "The initial replication progress percentage.", + "nextLink": { + "description": "The value of next link.", "type": "string" } } }, - "InlineWorkflowTaskDetails": { - "description": "This class represents the inline workflow task details.", + "Event": { + "description": "Implements the Event class.", "type": "object", "allOf": [ { - "$ref": "#/definitions/GroupTaskDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "workflowIds": { - "description": "The list of child workflow ids.", - "type": "array", - "items": { - "type": "string" - } + "properties": { + "$ref": "#/definitions/EventProperties", + "description": "Event related data." } - }, - "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + } }, - "InMageAgentDetails": { - "description": "The details of the InMage agent.", + "EventProperties": { + "description": "The properties of a monitoring event.", "type": "object", "properties": { - "agentVersion": { - "description": "The agent version.", + "eventCode": { + "description": "The Id of the monitoring event.", "type": "string" }, - "agentUpdateStatus": { - "description": "A value indicating whether installed agent needs to be updated.", + "description": { + "description": "The event name.", "type": "string" }, - "postUpdateRebootStatus": { - "description": "A value indicating whether reboot is required after update is applied.", + "eventType": { + "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", "type": "string" }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", - "type": "string" - } - } - }, - "InMageAgentVersionDetails": { - "description": "InMage agent version details.", - "type": "object", - "properties": { - "postUpdateRebootStatus": { - "description": "A value indicating whether reboot is required after update is applied.", + "affectedObjectFriendlyName": { + "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", "type": "string" }, - "version": { - "description": "The agent version.", + "severity": { + "description": "The severity of the event.", "type": "string" }, - "expiryDate": { + "timeOfOccurrence": { "format": "date-time", - "description": "Version expiry date.", + "description": "The time of occurence of the event.", "type": "string" }, - "status": { - "description": "A value indicating whether security update required.", - "enum": [ - "Supported", - "NotSupported", - "Deprecated", - "UpdateRequired", - "SecurityUpdateRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "AgentVersionStatus", - "modelAsString": false + "fabricId": { + "description": "The ARM ID of the fabric.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EventProviderSpecificDetails", + "description": "The provider specific settings." + }, + "eventSpecificDetails": { + "$ref": "#/definitions/EventSpecificDetails", + "description": "The event specific settings." + }, + "healthErrors": { + "description": "The list of errors / warnings capturing details associated with the issue(s).", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" } } } }, - "InMageAzureV2ApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "EventProviderSpecificDetails": { + "description": "Model class for provider specific details for an event.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" - } - ], "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", - "type": "string" + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true } }, - "x-ms-discriminator-value": "InMageAzureV2" + "discriminator": "instanceType" }, - "InMageAzureV2EnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "required": [ - "storageAccountId" - ], + "EventSpecificDetails": { + "description": "Model class for event specific details for an event.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true } - ], + }, + "discriminator": "instanceType" + }, + "EventQueryParameter": { + "description": "Implements the event query parameter.", + "type": "object", "properties": { - "masterTargetId": { - "description": "The Master target Id.", + "eventCode": { + "description": "The source id of the events to be queried.", "type": "string" }, - "processServerId": { - "description": "The Process Server Id.", + "severity": { + "description": "The severity of the events to be queried.", "type": "string" }, - "storageAccountId": { - "description": "The storage account name.", + "eventType": { + "description": "The type of the events to be queried.", "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id.", + "fabricName": { + "description": "The affected object server id of the events to be queried.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "affectedObjectFriendlyName": { + "description": "The affected object name of the events to be queried.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "startTime": { + "format": "date-time", + "description": "The start time of the time range within which the events are to be queried.", "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", + "endTime": { + "format": "date-time", + "description": "The end time of the time range within which the events are to be queried.", + "type": "string" + } + } + }, + "ProtectionContainerMappingCollection": { + "description": "Protection container mapping collection class.", + "type": "object", + "properties": { + "value": { + "description": "List of container mappings.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ProtectionContainerMapping" } }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", + "nextLink": { + "description": "Link to fetch rest of the data.", "type": "string" + } + } + }, + "ReplicationProtectedItemCollection": { + "description": "Replication protected item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protected item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProtectedItem" + } }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + } + } + }, + "ProtectedItemsQueryParameter": { + "description": "Query parameter to enumerate protected items.", + "type": "object", + "properties": { + "sourceFabricName": { + "description": "The source fabric name filter.", "type": "string" }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", + "recoveryPlanName": { + "description": "The recovery plan filter.", "type": "string" }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "vCenterName": { + "description": "The vCenter name filter.", "type": "string" }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "instanceType": { + "description": "The replication provider type.", "type": "string" }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", "type": "string" + } + } + }, + "TargetComputeSizeCollection": { + "description": "Target compute size collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of target compute sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetComputeSize" + } }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageAzureV2EventDetails": { - "description": "Model class for event details of a VMwareAzureV2 event.", + "TargetComputeSize": { + "description": "Represents applicable recovery vm sizes.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" - } - ], "properties": { - "eventType": { - "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", + "id": { + "description": "The Id.", "type": "string" }, - "category": { - "description": "InMage Event Category.", + "name": { + "description": "The name.", "type": "string" }, - "component": { - "description": "InMage Event Component.", + "type": { + "description": "The Type of the object.", "type": "string" }, - "correctiveAction": { - "description": "Corrective Action string for the event.", + "properties": { + "$ref": "#/definitions/TargetComputeSizeProperties", + "description": "The custom data." + } + } + }, + "TargetComputeSizeProperties": { + "description": "Represents applicable recovery vm sizes properties.", + "type": "object", + "properties": { + "name": { + "description": "Target compute size name.", "type": "string" }, - "details": { - "description": "InMage Event Details.", + "friendlyName": { + "description": "Target compute size display name.", "type": "string" }, - "summary": { - "description": "InMage Event Summary.", + "cpuCoresCount": { + "format": "int32", + "description": "The maximum cpu cores count supported by target compute size.", + "type": "integer" + }, + "memoryInGB": { + "format": "double", + "description": "The maximum memory in GB supported by target compute size.", + "type": "number" + }, + "maxDataDiskCount": { + "format": "int32", + "description": "The maximum data disks count supported by target compute size.", + "type": "integer" + }, + "maxNicsCount": { + "format": "int32", + "description": "The maximum Nics count supported by target compute size.", + "type": "integer" + }, + "errors": { + "description": "The reasons why the target compute size is not applicable for the protected item.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeSizeErrorDetails" + } + }, + "highIopsSupported": { + "description": "The value indicating whether the target compute size supports high Iops.", + "type": "string" + } + } + }, + "ComputeSizeErrorDetails": { + "description": "Represents the error used to indicate why the target compute size is not applicable.", + "type": "object", + "properties": { + "message": { + "description": "The error message.", "type": "string" }, - "siteName": { - "description": "VMware Site name.", + "severity": { + "description": "The severity of the error.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageAzureV2FailoverProviderInput": { - "description": "InMageAzureV2 provider specific input for failover.", + "HyperVReplicaBaseEventDetails": { + "description": "Abstract model class for event details of a HyperVReplica E2E event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "vaultLocation": { - "description": "Location of the vault.", + "containerName": { + "description": "The container friendly name.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" }, - "InMageAzureV2PolicyDetails": { - "description": "InMage Azure v2 specific protection profile details.", + "HyperVReplica2012EventDetails": { + "description": "Model class for event details of a HyperVReplica E2E event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" - }, - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "containerName": { + "description": "The container friendly name.", + "type": "string" }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "remoteFabricName": { + "description": "The remote fabric name.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "HyperVReplica2012" }, - "InMageAzureV2PolicyInput": { - "description": "VMWare Azure specific protection profile Input.", - "required": [ - "multiVmSyncStatus" - ], + "HyperVReplica2012R2EventDetails": { + "description": "Model class for event details of a HyperVReplica blue E2E event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" + "containerName": { + "description": "The container friendly name.", + "type": "string" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "InMageAzureV2ProtectedDiskDetails": { - "description": "InMageAzureV2 protected disk details.", + "HyperVReplicaAzureEventDetails": { + "description": "Model class for event details of a HyperVReplica E2A event.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], "properties": { - "diskId": { - "description": "The disk id.", + "containerName": { + "description": "The container friendly name.", "type": "string" }, - "diskName": { - "description": "The disk name.", + "fabricName": { + "description": "The fabric friendly name.", "type": "string" }, - "protectionStage": { - "description": "The protection stage.", + "remoteContainerName": { + "description": "The remote container name.", "type": "string" - }, - "healthErrorCode": { - "description": "The health error code for the disk.", + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "A2AEventDetails": { + "description": "Model class for event details of a A2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item arm name.", "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", + "fabricObjectId": { + "description": "The azure vm arm id.", "type": "string" }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", - "type": "integer" - }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The disk file system capacity in bytes.", - "type": "integer" - }, - "sourceDataInMegaBytes": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" - }, - "psDataInMegaBytes": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" + "fabricName": { + "description": "Fabric arm name.", + "type": "string" }, - "targetDataInMegaBytes": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" + "fabricLocation": { + "description": "The fabric location.", + "type": "string" }, - "diskResized": { - "description": "A value indicating whether disk is resized.", + "remoteFabricName": { + "description": "Remote fabric arm name.", "type": "string" }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "remoteFabricLocation": { + "description": "Remote fabric location.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "InMageAzureV2RecoveryPointDetails": { - "description": "InMage Azure V2 provider specific recovery point details.", + "InMageAzureV2EventDetails": { + "description": "Model class for event details of a VMwareAzureV2 event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "isMultiVmSyncPoint": { - "description": "A value indicating whether the recovery point is multi VM consistent.", + "eventType": { + "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", + "type": "string" + }, + "category": { + "description": "InMage Event Category.", + "type": "string" + }, + "component": { + "description": "InMage Event Component.", + "type": "string" + }, + "correctiveAction": { + "description": "Corrective Action string for the event.", + "type": "string" + }, + "details": { + "description": "InMage Event Details.", + "type": "string" + }, + "summary": { + "description": "InMage Event Summary.", + "type": "string" + }, + "siteName": { + "description": "VMware Site name.", "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" }, - "InMageAzureV2ReplicationDetails": { - "description": "InMageAzureV2 provider specific settings", + "JobStatusEventDetails": { + "description": "Model class for event details of a job status event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/EventSpecificDetails" } ], "properties": { - "infrastructureVmId": { - "description": "The infrastructure VM Id.", + "jobId": { + "description": "Job arm id for the event.", "type": "string" }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", + "jobFriendlyName": { + "description": "JobName for the Event.", "type": "string" }, - "protectionStage": { - "description": "The protection stage.", + "jobStatus": { + "description": "JobStatus for the Event.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "affectedObjectType": { + "description": "AffectedObjectType for the event.", "type": "string" + } + }, + "x-ms-discriminator-value": "JobStatus" + }, + "HyperVReplicaAzurePolicyInput": { + "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryDuration": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", "type": "string" }, - "resyncProgressPercentage": { + "storageAccounts": { + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaPolicyInput": { + "description": "Hyper-V Replica specific policy Input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPoints": { "format": "int32", - "description": "The resync progress percentage.", + "description": "A value indicating the number of recovery points.", "type": "integer" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", "type": "integer" }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" - }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" - }, - "ipAddress": { - "description": "The source IP address.", - "type": "string" - }, - "agentVersion": { - "description": "The agent version.", - "type": "string" - }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", - "type": "string" - }, - "isAgentUpdateRequired": { - "description": "A value indicating whether installed agent needs to be updated.", - "type": "string" - }, - "isRebootAfterUpdateRequired": { - "description": "A value indicating whether the source server requires a restart after update.", - "type": "string" - }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", - "type": "string" - }, - "processServerId": { - "description": "The process server Id.", - "type": "string" - }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi vm sync is enabled or disabled.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "protectedDisks": { - "description": "The list of protected disks.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" - } - }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "sourceVmCpuCount": { + "replicationPort": { "format": "int32", - "description": "The CPU count of the VM on the primary side.", + "description": "A value indicating the recovery HTTPS port.", "type": "integer" }, - "sourceVmRamSizeInMB": { + "allowedAuthenticationType": { "format": "int32", - "description": "The RAM size of the VM on the primary side.", + "description": "A value indicating the authentication type.", "type": "integer" }, - "osType": { - "description": "The type of the OS on the VM.", - "type": "string" - }, - "vhdName": { - "description": "The OS disk VHD name.", - "type": "string" - }, - "osDiskId": { - "description": "The id of the disk containing the OS.", - "type": "string" - }, - "azureVMDiskDetails": { - "description": "Azure VM Disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureVmDiskDetails" - } - }, - "recoveryAzureVMName": { - "description": "Recovery Azure given name.", + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaBluePolicyInput": { + "description": "HyperV Replica Blue policy input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", - "type": "string" + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "discoveryType": { - "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "datastores": { - "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", - "type": "array", - "items": { - "type": "string" - } + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" }, - "targetVmId": { - "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", - "type": "string" + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "InMageAzureV2PolicyInput": { + "description": "VMWare Azure specific policy Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" }, - "licenseType": { - "description": "License Type of the VM to be used.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" }, - "validationErrors": { - "description": "The validation errors of the on-premise machine Value can be list of validation errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false } - }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", - "type": "string" - }, - "lastUpdateReceivedTime": { - "format": "date-time", - "description": "The last update time received from on-prem components.", - "type": "string" - }, - "replicaId": { - "description": "The replica id of the protected item.", - "type": "string" - }, - "osVersion": { - "description": "The OS Version of the protected item.", - "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" }, - "InMageAzureV2ReprotectInput": { - "description": "InMageAzureV2 specific provider input.", + "InMagePolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "masterTargetId": { - "description": "The Master target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account id.", - "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id.", - "type": "string" + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "policyId": { - "description": "The Policy Id.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false } } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "InMage" }, - "InMageAzureV2UpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "A2APolicyCreationInput": { + "description": "A2A Policy creation input.", + "required": [ + "multiVmSyncStatus" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "A2A" }, - "InMageBasePolicyDetails": { - "description": "Base class for the policies of providers using InMage replication.", + "VMwareCbtPolicyCreationInput": { + "description": "VMware Cbt Policy creation input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "recoveryPointThresholdInMinutes": { + "recoveryPointHistory": { "format": "int32", - "description": "The recovery point threshold in minutes.", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "recoveryPointHistory": { + "crashConsistentFrequencyInMinutes": { "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", + "description": "The crash consistent snapshot frequency (in minutes).", "type": "integer" }, "appConsistentFrequencyInMinutes": { "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", + "description": "The app consistent snapshot frequency (in minutes).", "type": "integer" - }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", - "type": "string" } }, - "x-ms-discriminator-value": "InMageBasePolicyDetails" + "x-ms-discriminator-value": "VMwareCbt" }, - "InMageDisableProtectionProviderSpecificInput": { - "description": "InMage disable protection provider specific input.", + "HyperVReplicaAzurePolicyDetails": { + "description": "Hyper-V Replica Azure specific protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "replicaVmDeletionStatus": { - "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", - "type": "string" - } - }, - "x-ms-discriminator-value": "InMage" - }, - "InMageDiskDetails": { - "description": "VMware/Physical specific Disk Details", - "type": "object", - "properties": { - "diskId": { - "description": "The disk Id.", - "type": "string" + "recoveryPointHistoryDurationInHours": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" }, - "diskName": { - "description": "The disk name.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" }, - "diskSizeInMB": { - "description": "The disk size in MB.", - "type": "string" + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" }, - "diskType": { - "description": "Whether disk is system disk or data disk.", + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", "type": "string" }, - "diskConfiguration": { - "description": "Whether disk is dynamic disk or basic disk.", + "encryption": { + "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", "type": "string" }, - "volumeList": { - "description": "Volumes of the disk.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskVolumeDetails" - } - } - } - }, - "InMageDiskExclusionInput": { - "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", - "type": "object", - "properties": { - "volumeOptions": { - "description": "The volume label based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageVolumeExclusionOptions" - } - }, - "diskSignatureOptions": { - "description": "The guest disk signature based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" - } - } - } - }, - "InMageDiskSignatureExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", - "type": "object", - "properties": { - "diskSignature": { - "description": "The guest signature of disk to be excluded from replication.", + "activeStorageAccountId": { + "description": "The active storage account Id.", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "InMageEnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "required": [ - "masterTargetId", - "processServerId", - "retentionDrive", - "multiVmGroupId", - "multiVmGroupName" - ], + "HyperVReplicaBasePolicyDetails": { + "description": "Base class for HyperVReplica policy details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "vmFriendlyName": { - "description": "The Vm Name.", - "type": "string" + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" }, - "masterTargetId": { - "description": "The Master Target Id.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" }, - "processServerId": { - "description": "The Process Server Id.", + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "datastoreName": { - "description": "The target datastore name.", - "type": "string" + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" - } + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" }, - "InMageFailoverProviderInput": { - "description": "Provider specific input for InMage failover.", + "HyperVReplicaPolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "recoveryPointType": { - "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", - "enum": [ - "LatestTime", - "LatestTag", - "Custom" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointType", - "modelAsString": false - } + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "HyperVReplica2012" }, - "InMagePolicyDetails": { - "description": "InMage specific protection profile details.", + "HyperVReplicaBluePolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", "type": "object", "allOf": [ { @@ -10076,37 +10267,64 @@ } ], "properties": { - "recoveryPointThresholdInMinutes": { + "replicationFrequencyInSeconds": { "format": "int32", - "description": "The recovery point threshold in minutes.", + "description": "A value indicating the replication interval.", "type": "integer" }, - "recoveryPointHistory": { + "recoveryPoints": { "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", + "description": "A value indicating the number of recovery points.", "type": "integer" }, - "appConsistentFrequencyInMinutes": { + "applicationConsistentSnapshotFrequencyInHours": { "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", + "description": "A value indicating the application consistent frequency.", "type": "integer" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "InMagePolicyInput": { - "description": "VMWare Azure specific protection profile Input.", - "required": [ - "multiVmSyncStatus" - ], + "InMageBasePolicyDetails": { + "description": "Base class for the policies of providers using InMage replication.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { @@ -10122,1098 +10340,1103 @@ }, "appConsistentFrequencyInMinutes": { "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", + "description": "The app consistent snapshot frequency in minutes.", "type": "integer" }, "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "InMageBasePolicyDetails" }, - "InMageProtectedDiskDetails": { - "description": "InMage protected disk details.", + "InMageAzureV2PolicyDetails": { + "description": "InMage Azure v2 specific protection profile details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], "properties": { - "diskId": { - "description": "The disk id.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "protectionStage": { - "description": "The protection stage.", - "type": "string" - }, - "healthErrorCode": { - "description": "The health error code for the disk.", - "type": "string" - }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "string" - }, - "resyncProgressPercentage": { + "crashConsistentFrequencyInMinutes": { "format": "int32", - "description": "The resync progress percentage.", + "description": "The crash consistent snapshot frequency in minutes.", "type": "integer" }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", "type": "integer" }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The file system capacity in bytes.", + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", "type": "integer" }, - "sourceDataInMB": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" - }, - "psDataInMB": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" - }, - "targetDataInMB": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" - }, - "diskResized": { - "description": "A value indicating whether disk is resized.", - "type": "string" - }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "InMageReplicationDetails": { - "description": "InMage provider specific settings", + "InMagePolicyDetails": { + "description": "InMage specific protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "activeSiteType": { - "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", - "type": "string" - }, - "sourceVmCpuCount": { + "recoveryPointThresholdInMinutes": { "format": "int32", - "description": "The CPU count of the VM on the primary side.", + "description": "The recovery point threshold in minutes.", "type": "integer" }, - "sourceVmRamSizeInMB": { + "recoveryPointHistory": { "format": "int32", - "description": "The RAM size of the VM on the primary side.", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "osDetails": { - "$ref": "#/definitions/OSDiskDetails", - "description": "The OS details." + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" }, - "protectionStage": { - "description": "The protection stage.", + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "A2APolicyDetails": { + "description": "A2A specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" }, - "resyncDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "The resync details of the machine" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "RcmAzureMigrationPolicyDetails": { + "description": "RCM based Azure migration specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "retentionWindowStart": { - "format": "date-time", - "description": "The retention window start time.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "retentionWindowEnd": { - "format": "date-time", - "description": "The retention window end time.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncStatus", + "modelAsString": false + } }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "RcmAzureMigration" + }, + "VmwareCbtPolicyDetails": { + "description": "VMware Cbt specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "protectedDisks": { - "description": "The list of protected disks.", + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "HyperVReplicaBaseReplicationDetails": { + "description": "Hyper V replica provider specific settings base class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", "type": "array", "items": { - "$ref": "#/definitions/InMageProtectedDiskDetails" + "$ref": "#/definitions/VMNicDetails" } }, - "ipAddress": { - "description": "The source IP address.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "processServerId": { - "description": "The process server Id.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", - "type": "string" + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." }, - "consistencyPoints": { - "description": "The collection of Consistency points.", - "type": "object", - "additionalProperties": { - "format": "date-time", - "type": "string" + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" } - }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + }, + "VMNicDetails": { + "description": "Hyper V VM network details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", "type": "string" }, - "rebootAfterUpdateStatus": { - "description": "A value indicating whether the source server requires a restart after update.", + "replicaNicId": { + "description": "The replica nic Id.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id, if any.", + "sourceNicArmId": { + "description": "The source nic ARM Id.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name, if any.", + "vMSubnetName": { + "description": "VM subnet name.", "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "vMNetworkName": { + "description": "VM network name.", "type": "string" }, - "agentDetails": { - "$ref": "#/definitions/InMageAgentDetails", - "description": "The agent details." - }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", + "recoveryVMNetworkId": { + "description": "Recovery VM network Id.", "type": "string" }, - "infrastructureVmId": { - "description": "The infrastructure VM Id.", + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } + "ipAddressType": { + "description": "Ip address type.", + "type": "string" }, - "discoveryType": { - "description": "A value indicating the discovery type of the machine.", + "primaryNicStaticIPAddress": { + "description": "Primary nic static IP address.", "type": "string" }, - "azureStorageAccountId": { - "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", "type": "string" }, - "datastores": { - "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names", - "type": "array", - "items": { - "type": "string" - } + "selectionType": { + "description": "Selection type for failover.", + "type": "string" }, - "validationErrors": { - "description": "The validation errors of the on-premise machine Value can be list of validation errors", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } + "recoveryNicIpAddressType": { + "description": "IP allocation type for recovery VM.", + "type": "string" + } + } + }, + "InitialReplicationDetails": { + "description": "Initial replication details.", + "type": "object", + "properties": { + "initialReplicationType": { + "description": "Initial replication type.", + "type": "string" }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "initialReplicationProgressPercentage": { + "description": "The initial replication progress percentage.", "type": "string" + } + } + }, + "DiskDetails": { + "description": "Onprem disk details data.", + "type": "object", + "properties": { + "maxSizeMB": { + "format": "int64", + "description": "The hard disk max size in MB.", + "type": "integer" }, - "lastUpdateReceivedTime": { - "format": "date-time", - "description": "The last update time received from on-prem components.", + "vhdType": { + "description": "The type of the volume.", "type": "string" }, - "replicaId": { - "description": "The replica id of the protected item.", + "vhdId": { + "description": "The VHD Id.", "type": "string" }, - "osVersion": { - "description": "The OS Version of the protected item.", + "vhdName": { + "description": "The VHD name.", "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, - "InMageReprotectInput": { - "description": "InMageAzureV2 specific provider input.", - "required": [ - "masterTargetId", - "processServerId", - "retentionDrive", - "profileId" - ], + "HyperVReplicaReplicationDetails": { + "description": "HyperV replica 2012 replication details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "masterTargetId": { - "description": "The Master Target Id.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "datastoreName": { - "description": "The target datastore name.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." - }, - "profileId": { - "description": "The Policy Id.", - "type": "string" + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." }, - "disksToInclude": { - "description": "The disks to include list.", + "vMDiskDetails": { + "description": "VM disk details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/DiskDetails" } } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "HyperVReplica2012" }, - "InMageVolumeExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "HyperVReplicaBlueReplicationDetails": { + "description": "HyperV replica 2012 R2 (Blue) replication details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], "properties": { - "volumeLabel": { - "description": "The volume label. The disk having any volume with this label will be excluded from replication.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "onlyExcludeIfSingleVolume": { - "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } } - } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "InnerHealthError": { - "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "HyperVReplicaAzureReplicationDetails": { + "description": "Hyper V Replica Azure provider specific settings.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], "properties": { - "errorSource": { - "description": "Source of error.", - "type": "string" + "azureVmDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } }, - "errorType": { - "description": "Type of error.", + "recoveryAzureVmName": { + "description": "Recovery Azure given name.", "type": "string" }, - "errorLevel": { - "description": "Level of error.", + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", "type": "string" }, - "errorCategory": { - "description": "Category of error.", + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", "type": "string" }, - "errorCode": { - "description": "Error code.", + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", "type": "string" }, - "summaryMessage": { - "description": "Summary message of the entity.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "errorMessage": { - "description": "Error message.", + "rpoInSeconds": { + "format": "int64", + "description": "Last RPO value.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "creationTimeUtc": { - "format": "date-time", - "description": "Error creation time (UTC)", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "recoveryProviderErrorMessage": { - "description": "DRA error message.", + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", "type": "string" }, - "entityId": { - "description": "ID of the entity.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" - } - } - }, - "InputEndpoint": { - "description": "Azure VM input endpoint details.", - "type": "object", - "properties": { - "endpointName": { - "description": "The input endpoint name.", + }, + "encryption": { + "description": "The encryption info.", "type": "string" }, - "privatePort": { + "oSDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The operating system info." + }, + "sourceVmRamSizeInMB": { "format": "int32", - "description": "The input endpoint private port.", + "description": "The RAM size of the VM on the primary side.", "type": "integer" }, - "publicPort": { + "sourceVmCpuCount": { "format": "int32", - "description": "The input endpoint public port.", + "description": "The CPU count of the VM on the primary side.", "type": "integer" }, - "protocol": { - "description": "The input endpoint protocol.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" - } - } - }, - "Job": { - "description": "Job details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/JobProperties", - "description": "The custom data." - } - } - }, - "JobCollection": { - "description": "Collection of jobs.", - "type": "object", - "properties": { - "value": { - "description": "The list of jobs.", - "type": "array", - "items": { - "$ref": "#/definitions/Job" - } }, - "nextLink": { - "description": "The value of next link.", + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", "type": "string" - } - } - }, - "JobDetails": { - "description": "Job details based on specific job type.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", - "type": "string", - "readOnly": true }, - "affectedObjectDetails": { - "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "JobEntity": { - "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "AzureVmDiskDetails": { + "description": "Disk details for E2A provider.", "type": "object", "properties": { - "jobId": { - "description": "The job id.", + "vhdType": { + "description": "VHD type.", "type": "string" }, - "jobFriendlyName": { - "description": "The job display name.", + "vhdId": { + "description": "The VHD id.", "type": "string" }, - "targetObjectId": { - "description": "The object id.", + "vhdName": { + "description": "VHD name.", "type": "string" }, - "targetObjectName": { - "description": "The object name.", + "maxSizeMB": { + "description": "Max side in MB.", "type": "string" }, - "targetInstanceType": { - "description": "The workflow affected object type.", + "targetDiskLocation": { + "description": "Blob uri of the Azure disk.", "type": "string" }, - "jobScenarioName": { - "description": "The job name. Enum type ScenarioName.", + "targetDiskName": { + "description": "The target Azure disk name.", + "type": "string" + }, + "lunId": { + "description": "Ordinal\\LunId of the disk for the Azure VM.", "type": "string" } } }, - "JobErrorDetails": { - "description": "This class contains the error details per object.", + "OSDetails": { + "description": "Disk Details.", "type": "object", "properties": { - "serviceErrorDetails": { - "$ref": "#/definitions/ServiceError", - "description": "The Service error details." + "osType": { + "description": "VM Disk details.", + "type": "string" }, - "providerErrorDetails": { - "$ref": "#/definitions/ProviderError", - "description": "The Provider error details." + "productType": { + "description": "Product type.", + "type": "string" }, - "errorLevel": { - "description": "Error level of error.", + "osEdition": { + "description": "The OSEdition.", "type": "string" }, - "creationTime": { - "format": "date-time", - "description": "The creation time of job error.", + "oSVersion": { + "description": "The OS Version.", "type": "string" }, - "taskId": { - "description": "The Id of the task.", + "oSMajorVersion": { + "description": "The OS Major Version.", + "type": "string" + }, + "oSMinorVersion": { + "description": "The OS Minor Version.", "type": "string" } } }, - "JobProperties": { - "description": "Job custom data details.", + "InMageAzureV2ReplicationDetails": { + "description": "InMageAzureV2 provider specific settings", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], "properties": { - "activityId": { - "description": "The activity id.", + "infrastructureVmId": { + "description": "The infrastructure VM Id.", "type": "string" }, - "scenarioName": { - "description": "The ScenarioName.", + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", "type": "string" }, - "friendlyName": { - "description": "The DisplayName.", + "protectionStage": { + "description": "The protection stage.", "type": "string" }, - "state": { - "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "stateDescription": { - "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "tasks": { - "description": "The tasks.", - "type": "array", - "items": { - "$ref": "#/definitions/ASRTask" - } + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" }, - "errors": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/JobErrorDetails" - } + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" }, - "allowedActions": { - "description": "The Allowed action the job.", - "type": "array", - "items": { - "type": "string" - } + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" }, - "targetObjectId": { - "description": "The affected Object Id.", + "ipAddress": { + "description": "The source IP address.", "type": "string" }, - "targetObjectName": { - "description": "The name of the affected object.", + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "targetInstanceType": { - "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/JobDetails", - "description": "The custom job details like test failover job details." - } - } - }, - "JobQueryParameter": { - "description": "Query parameter to enumerate jobs.", - "type": "object", - "properties": { - "startTime": { - "description": "Date time to get jobs from.", + "isAgentUpdateRequired": { + "description": "A value indicating whether installed agent needs to be updated.", "type": "string" }, - "endTime": { - "description": "Date time to get jobs upto.", + "isRebootAfterUpdateRequired": { + "description": "A value indicating whether the source server requires a restart after update.", "type": "string" }, - "fabricId": { - "description": "The Id of the fabric to search jobs under.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", "type": "string" }, - "affectedObjectTypes": { - "description": "The type of objects.", - "type": "array", - "items": { - "type": "string" - } - }, - "jobStatus": { - "description": "The states of the job to be filtered can be in.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "JobStatusEventDetails": { - "description": "Model class for event details of a job status event.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventSpecificDetails" - } - ], - "properties": { - "jobId": { - "description": "Job arm id for the event.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "jobFriendlyName": { - "description": "JobName for the Event.", + "multiVmGroupId": { + "description": "The multi vm group Id.", "type": "string" }, - "jobStatus": { - "description": "JobStatus for the Event.", + "multiVmGroupName": { + "description": "The multi vm group name.", "type": "string" }, - "affectedObjectType": { - "description": "AffectedObjectType for the event.", + "multiVmSyncStatus": { + "description": "A value indicating whether multi vm sync is enabled or disabled.", "type": "string" - } - }, - "x-ms-discriminator-value": "JobStatus" - }, - "JobTaskDetails": { - "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], - "properties": { - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." - } - }, - "x-ms-discriminator-value": "JobTaskDetails" - }, - "LogicalNetwork": { - "description": "Logical network data model.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/LogicalNetworkProperties", - "description": "The Logical Network Properties." - } - } - }, - "LogicalNetworkCollection": { - "description": "List of logical networks.", - "type": "object", - "properties": { - "value": { - "description": "The Logical Networks list details.", + }, + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "$ref": "#/definitions/LogicalNetwork" + "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "LogicalNetworkProperties": { - "description": "Logical Network Properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The Friendly Name.", + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", "type": "string" }, - "networkVirtualizationStatus": { - "description": "A value indicating whether Network Virtualization is enabled for the logical network.", + "masterTargetId": { + "description": "The master target Id.", "type": "string" }, - "logicalNetworkUsage": { - "description": "A value indicating whether logical network is used as private test network by test failover.", - "type": "string" + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" }, - "logicalNetworkDefinitionsStatus": { - "description": "A value indicating whether logical network definitions are isolated.", + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osType": { + "description": "The type of the OS on the VM.", "type": "string" - } - } - }, - "ManualActionTaskDetails": { - "description": "This class represents the manual action task details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], - "properties": { - "name": { - "description": "The name.", + }, + "vhdName": { + "description": "The OS disk VHD name.", "type": "string" }, - "instructions": { - "description": "The instructions.", + "osDiskId": { + "description": "The id of the disk containing the OS.", "type": "string" }, - "observation": { - "description": "The observation.", + "azureVMDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVMName": { + "description": "Recovery Azure given name.", "type": "string" - } - }, - "x-ms-discriminator-value": "ManualActionTaskDetails" - }, - "MasterTargetServer": { - "description": "Details of a Master Target Server.", - "type": "object", - "properties": { - "id": { - "description": "The server Id.", + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the server.", + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", "type": "string" }, - "name": { - "description": "The server name.", + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", "type": "string" }, - "osType": { - "description": "The OS type of the server.", + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", "type": "string" }, - "agentVersion": { - "description": "The version of the scout component on the server.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the server.", + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" }, - "retentionVolumes": { - "description": "The retention volumes of Master target Server.", + "datastores": { + "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", "type": "array", "items": { - "$ref": "#/definitions/RetentionVolume" + "type": "string" } }, - "dataStores": { - "description": "The list of data stores in the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/DataStore" - } + "targetVmId": { + "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", + "type": "string" }, - "validationErrors": { - "description": "Validation errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" }, - "healthErrors": { - "description": "Health errors.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" } }, - "diskCount": { - "format": "int32", - "description": "Disk count of the master target.", - "type": "integer" - }, - "osVersion": { - "description": "OS Version of the master target.", + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" }, - "agentExpiryDate": { + "lastUpdateReceivedTime": { "format": "date-time", - "description": "Agent expiry date.", + "description": "The last update time received from on-prem components.", "type": "string" }, - "marsAgentVersion": { - "description": "MARS agent version.", + "replicaId": { + "description": "The replica id of the protected item.", "type": "string" }, - "marsAgentExpiryDate": { - "format": "date-time", - "description": "MARS agent expiry date.", + "osVersion": { + "description": "The OS Version of the protected item.", "type": "string" - }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "Agent version details." - }, - "marsAgentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "Mars agent version details." } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "MobilityServiceUpdate": { - "description": "The Mobility Service update details.", + "InMageAzureV2ProtectedDiskDetails": { + "description": "InMageAzureV2 protected disk details.", "type": "object", "properties": { - "version": { - "description": "The version of the latest update.", + "diskId": { + "description": "The disk id.", "type": "string" }, - "rebootStatus": { - "description": "The reboot status of the update - whether it is required or not.", + "diskName": { + "description": "The disk name.", "type": "string" }, - "osType": { - "description": "The OS type.", + "protectionStage": { + "description": "The protection stage.", "type": "string" - } - } - }, - "Network": { - "description": "Network model.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/NetworkProperties", - "description": "The Network Properties." - } - } - }, - "NetworkCollection": { - "description": "List of networks.", - "type": "object", - "properties": { - "value": { - "description": "The Networks list details.", - "type": "array", - "items": { - "$ref": "#/definitions/Network" - } }, - "nextLink": { - "description": "The value of next link.", + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The disk file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMegaBytes": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMegaBytes": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMegaBytes": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" } } }, - "NetworkMapping": { - "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.", + "InMageReplicationDetails": { + "description": "InMage provider specific settings", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "properties": { - "$ref": "#/definitions/NetworkMappingProperties", - "description": "The Network Mapping Properties." - } - } - }, - "NetworkMappingCollection": { - "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", - "type": "object", - "properties": { - "value": { - "description": "The Network Mappings list.", - "type": "array", - "items": { - "$ref": "#/definitions/NetworkMapping" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "NetworkMappingFabricSpecificSettings": { - "description": "Network Mapping fabric specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true - } - } - }, - "NetworkMappingProperties": { - "description": "Network Mapping Properties.", - "type": "object", - "properties": { - "state": { - "description": "The pairing state for network mapping.", + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", "type": "string" }, - "primaryNetworkFriendlyName": { - "description": "The primary network friendly name.", - "type": "string" + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" }, - "primaryNetworkId": { - "description": "The primary network id for network mapping.", - "type": "string" + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", "type": "string" }, - "recoveryNetworkFriendlyName": { - "description": "The recovery network friendly name.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "recoveryNetworkId": { - "description": "The recovery network id for network mapping.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "recoveryFabricArmId": { - "description": "The recovery fabric ARM id.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", + "resyncDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "The resync details of the machine" + }, + "retentionWindowStart": { + "format": "date-time", + "description": "The retention window start time.", "type": "string" }, - "fabricSpecificSettings": { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", - "description": "The fabric specific settings." - } - } - }, - "NetworkProperties": { - "description": "Network Properties", - "type": "object", - "properties": { - "fabricType": { - "description": "The Fabric Type.", + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", "type": "string" }, - "subnets": { - "description": "The List of subnets.", + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "$ref": "#/definitions/Subnet" + "$ref": "#/definitions/InMageProtectedDiskDetails" } }, - "friendlyName": { - "description": "The Friendly Name.", + "ipAddress": { + "description": "The source IP address.", "type": "string" }, - "networkType": { - "description": "The Network Type.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", "type": "string" - } - } - }, - "Object": { - "description": "Base of all objects.", - "type": "object", - "properties": {} - }, - "OperationsDiscovery": { - "description": "Operations discovery class.", - "type": "object", - "properties": { - "name": { - "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", + }, + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "display": { - "$ref": "#/definitions/Display", - "description": "Object type" + "masterTargetId": { + "description": "The master target Id.", + "type": "string" }, - "origin": { - "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"", + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", "type": "string" }, - "properties": { - "$ref": "#/definitions/OperationsDiscoveryProperties", - "description": "Properties. Reserved for future use." - } - } - }, - "OperationsDiscoveryCollection": { - "description": "Collection of ClientDiscovery details.", - "type": "object", - "properties": { - "value": { - "description": "The ClientDiscovery details.", + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name, if any.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "type": "string" + }, + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", "type": "array", "items": { - "$ref": "#/definitions/OperationsDiscovery" + "$ref": "#/definitions/VMNicDetails" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "OperationsDiscoveryProperties": { - "description": "ClientDiscovery properties.", - "type": "object", - "properties": {} - }, - "OSDetails": { - "description": "Disk Details.", - "type": "object", - "properties": { - "osType": { - "description": "VM Disk details.", + "discoveryType": { + "description": "A value indicating the discovery type of the machine.", "type": "string" }, - "productType": { - "description": "Product type.", + "azureStorageAccountId": { + "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", "type": "string" }, - "osEdition": { - "description": "The OSEdition.", + "datastores": { + "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names", + "type": "array", + "items": { + "type": "string" + } + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" }, - "oSVersion": { - "description": "The OS Version.", + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", "type": "string" }, - "oSMajorVersion": { - "description": "The OS Major Version.", + "replicaId": { + "description": "The replica id of the protected item.", "type": "string" }, - "oSMinorVersion": { - "description": "The OS Minor Version.", + "osVersion": { + "description": "The OS Version of the protected item.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMage" }, "OSDiskDetails": { "description": "Details of the OS Disk.", @@ -11233,1898 +11456,1424 @@ } } }, - "PlannedFailoverInput": { - "description": "Input definition for planned failover.", + "InMageProtectedDiskDetails": { + "description": "InMage protected disk details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/PlannedFailoverInputProperties", - "description": "Planned failover input properties" + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMB": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMB": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMB": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" } } }, - "PlannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "InMageAgentDetails": { + "description": "The details of the InMage agent.", "type": "object", "properties": { - "failoverDirection": { - "description": "Failover direction.", + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" + "agentUpdateStatus": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" } } }, - "Policy": { - "description": "Protection profile details.", + "A2AReplicationDetails": { + "description": "A2A provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "properties": { - "$ref": "#/definitions/PolicyProperties", - "description": "The custom data." - } - } - }, - "PolicyCollection": { - "description": "Protection Profile Collection details.", - "type": "object", - "properties": { - "value": { - "description": "The policy details.", - "type": "array", - "items": { - "$ref": "#/definitions/Policy" - } - }, - "nextLink": { - "description": "The value of next link.", + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", "type": "string" - } - } - }, - "PolicyProperties": { - "description": "Protection profile custom data details.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The FriendlyName.", + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/PolicyProviderSpecificDetails", - "description": "The ReplicationChannelSetting." - } - } - }, - "PolicyProviderSpecificDetails": { - "description": "Base class for Provider specific details for policies.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overridden in derived classes.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "PolicyProviderSpecificInput": { - "description": "Base class for provider specific input", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + "multiVmGroupName": { + "description": "The multi vm group name.", "type": "string" - } - }, - "discriminator": "instanceType" - }, - "ProcessServer": { - "description": "Details of the Process Server.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The Process Server's friendly name.", + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", "type": "string" }, - "id": { - "description": "The Process Server Id.", + "managementId": { + "description": "The management Id.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the server.", + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedDiskDetails" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The recovery boot diagnostic storage account Arm Id.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", "type": "string" }, "osType": { - "description": "The OS type of the server.", + "description": "The type of operating system.", "type": "string" }, - "agentVersion": { - "description": "The version of the scout component on the server.", + "recoveryAzureVMSize": { + "description": "The size of recovery virtual machine.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the server.", + "recoveryAzureVMName": { + "description": "The name of recovery virtual machine.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "recoveryAzureResourceGroupId": { + "description": "The recovery resource group.", "type": "string" }, - "mobilityServiceUpdates": { - "description": "The list of the mobility service updates available on the Process Server.", + "recoveryCloudService": { + "description": "The recovery cloud service.", + "type": "string" + }, + "recoveryAvailabilitySet": { + "description": "The recovery availability set.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "The recovery virtual network.", + "type": "string" + }, + "vmNics": { + "description": "The virtual machine nic details.", "type": "array", "items": { - "$ref": "#/definitions/MobilityServiceUpdate" + "$ref": "#/definitions/VMNicDetails" } }, - "hostId": { - "description": "The agent generated Id.", + "vmSyncedConfigDetails": { + "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", + "description": "The synced configuration details." + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" }, - "machineCount": { - "description": "The servers configured with this PS.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", "type": "string" }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this PS.", + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "systemLoad": { - "description": "The percentage of the system load.", + "isReplicationAgentUpdateRequired": { + "description": "A value indicating whether replication agent update is required.", + "type": "boolean" + }, + "recoveryFabricObjectId": { + "description": "The recovery fabric object Id.", "type": "string" }, - "systemLoadStatus": { - "description": "The system load status.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "cpuLoad": { - "description": "The percentage of the CPU load.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "cpuLoadStatus": { - "description": "The CPU load status.", + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", "type": "string" }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" + "testFailoverRecoveryFabricObjectId": { + "description": "The test failover fabric object Id.", + "type": "string" }, - "availableMemoryInBytes": { + "rpoInSeconds": { "format": "int64", - "description": "The available memory.", + "description": "The last RPO value in seconds.", "type": "integer" }, - "memoryUsageStatus": { - "description": "The memory usage status.", + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectedDiskDetails": { + "description": "A2A protected disk details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk uri.", "type": "string" }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" + "recoveryAzureStorageAccountId": { + "description": "The recovery disk storage account.", + "type": "string" }, - "availableSpaceInBytes": { + "primaryDiskAzureStorageAccountId": { + "description": "The primary disk storage account.", + "type": "string" + }, + "recoveryDiskUri": { + "description": "Recovery disk uri.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { "format": "int64", - "description": "The available space.", + "description": "The disk capacity in bytes.", "type": "integer" }, - "spaceUsageStatus": { - "description": "The space usage status.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", "type": "string" }, - "psServiceStatus": { - "description": "The PS service status.", + "diskType": { + "description": "The type of disk.", "type": "string" }, - "sslCertExpiryDate": { - "format": "date-time", - "description": "The PS SSL cert expiry date.", - "type": "string" + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" }, - "sslCertExpiryRemainingDays": { + "monitoringPercentageCompletion": { "format": "int32", - "description": "CS SSL cert expiry date.", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", "type": "integer" }, - "osVersion": { - "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" }, - "healthErrors": { - "description": "Health errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", - "type": "string" + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The agent version details." + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" } } }, - "ProtectableItem": { - "description": "Replication protected item", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectableItemProperties", - "description": "The custom data." - } - } - }, - "ProtectableItemCollection": { - "description": "Protectable item collection.", - "type": "object", - "properties": { - "value": { - "description": "The Protectable item details.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectableItem" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "ProtectableItemProperties": { - "description": "Replication protected item custom data details.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The name.", - "type": "string" - }, - "protectionStatus": { - "description": "The protection status.", - "type": "string" - }, - "replicationProtectedItemId": { - "description": "The ARM resource of protected items.", - "type": "string" - }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", - "type": "string" - }, - "protectionReadinessErrors": { - "description": "The Current protection readiness errors.", - "type": "array", - "items": { - "type": "string" - } - }, - "supportedReplicationProviders": { - "description": "The list of replication providers supported for the protectable item.", - "type": "array", - "items": { - "type": "string" - } - }, - "customDetails": { - "$ref": "#/definitions/ConfigurationSettings", - "description": "The Replication provider custom settings." - } - } - }, - "ProtectedItemsQueryParameter": { - "description": "Query parameter to enumerate protected items.", + "A2AProtectedManagedDiskDetails": { + "description": "A2A protected managed disk details.", "type": "object", "properties": { - "sourceFabricName": { - "description": "The source fabric name filter.", - "type": "string" - }, - "recoveryPlanName": { - "description": "The recovery plan filter.", - "type": "string" - }, - "vCenterName": { - "description": "The vCenter name filter.", - "type": "string" - }, - "instanceType": { - "description": "The replication provider type.", - "type": "string" - }, - "multiVmGroupCreateOption": { - "description": "Whether Multi VM group is auto created or specified by user.", + "diskId": { + "description": "The managed disk Arm id.", "type": "string" - } - } - }, - "ProtectionContainer": { - "description": "Protection container details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainerProperties", - "description": "The custom data." - } - } - }, - "ProtectionContainerCollection": { - "description": "Protection Container collection.", - "type": "object", - "properties": { - "value": { - "description": "The Protection Container details.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainer" - } }, - "nextLink": { - "description": "The value of next link.", + "recoveryResourceGroupId": { + "description": "The recovery disk resource group Arm Id.", "type": "string" - } - } - }, - "ProtectionContainerFabricSpecificDetails": { - "description": "Base class for fabric specific details of container.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true - } - } - }, - "ProtectionContainerMapping": { - "description": "Protection container mapping object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainerMappingProperties", - "description": "The custom data." - } - } - }, - "ProtectionContainerMappingCollection": { - "description": "Protection container mapping collection class.", - "type": "object", - "properties": { - "value": { - "description": "List of container mappings.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainerMapping" - } }, - "nextLink": { - "description": "Link to fetch rest of the data.", - "type": "string" - } - } - }, - "ProtectionContainerMappingProperties": { - "description": "Protection container mapping properties.", - "type": "object", - "properties": { - "targetProtectionContainerId": { - "description": "Paired protection container ARM ID.", + "recoveryTargetDiskId": { + "description": "Recovery target disk Arm Id.", "type": "string" }, - "targetProtectionContainerFriendlyName": { - "description": "Friendly name of paired container.", + "recoveryReplicaDiskId": { + "description": "Recovery replica disk Arm Id.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", - "description": "Provider specific provider details." - }, - "health": { - "description": "Health of pairing.", + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", "type": "string" }, - "healthErrorDetails": { - "description": "Health error.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "policyId": { - "description": "Policy ARM Id.", + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", "type": "string" }, - "state": { - "description": "Association Status", + "diskName": { + "description": "The disk name.", "type": "string" }, - "sourceProtectionContainerFriendlyName": { - "description": "Friendly name of source protection container.", - "type": "string" + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" }, - "sourceFabricFriendlyName": { - "description": "Friendly name of source fabric.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", "type": "string" }, - "targetFabricFriendlyName": { - "description": "Friendly name of target fabric.", + "diskType": { + "description": "The type of disk.", "type": "string" }, - "policyFriendlyName": { - "description": "Friendly name of replication policy.", - "type": "string" - } - } - }, - "ProtectionContainerMappingProviderSpecificDetails": { - "description": "Container mapping provider specific details.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true - } - } - }, - "ProtectionContainerProperties": { - "description": "Protection profile custom data details.", - "type": "object", - "properties": { - "fabricFriendlyName": { - "description": "Fabric friendly name.", - "type": "string" + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" }, - "friendlyName": { - "description": "The name.", - "type": "string" + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" }, - "fabricType": { - "description": "The fabric type.", + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" }, - "protectedItemCount": { - "format": "int32", - "description": "Number of protected PEs", - "type": "integer" - }, - "pairingStatus": { - "description": "The pairing status of this cloud.", - "type": "string" - }, - "role": { - "description": "The role of this cloud.", - "type": "string" - }, - "fabricSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", - "description": "Fabric specific details." - } - } - }, - "ProviderError": { - "description": "This class contains the error details per object.", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "The Error code.", - "type": "integer" - }, - "errorMessage": { - "description": "The Error message.", - "type": "string" - }, - "errorId": { - "description": "The Provider error Id.", - "type": "string" - }, - "possibleCauses": { - "description": "The possible causes for the error.", - "type": "string" - }, - "recommendedAction": { - "description": "The recommended action to resolve the error.", - "type": "string" - } - } - }, - "ProviderSpecificFailoverInput": { - "description": "Provider specific failover input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "ProviderSpecificRecoveryPointDetails": { - "description": "Replication provider specific recovery point details.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the provider type.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "RcmAzureMigrationPolicyDetails": { - "description": "RCM based Azure migration specific policy details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" - }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "MultiVmSyncStatus", - "modelAsString": false - } - }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "RcmAzureMigration" - }, - "RecoveryPlan": { - "description": "Recovery plan details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanProperties", - "description": "The custom details." - } - } - }, - "RecoveryPlanA2AFailoverInput": { - "description": "Recovery plan A2A failover input.", - "required": [ - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "A2ARpRecoveryPointType", - "modelAsString": false - } - }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", - "type": "string" - }, - "multiVmSyncPointOption": { - "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", - "enum": [ - "UseMultiVmSyncRecoveryPoint", - "UsePerVmRecoveryPoint" - ], - "type": "string", - "x-ms-enum": { - "name": "MultiVmSyncPointOption", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "A2A" - }, - "RecoveryPlanAction": { - "description": "Recovery plan action details.", - "required": [ - "actionName", - "failoverTypes", - "failoverDirections", - "customDetails" - ], - "type": "object", - "properties": { - "actionName": { - "description": "The action name.", - "type": "string" - }, - "failoverTypes": { - "description": "The list of failover types.", - "type": "array", - "items": { - "enum": [ - "ReverseReplicate", - "Commit", - "PlannedFailover", - "UnplannedFailover", - "DisableProtection", - "TestFailover", - "TestFailoverCleanup", - "Failback", - "FinalizeFailback", - "ChangePit", - "RepairReplication", - "SwitchProtection", - "CompleteMigration" - ], - "type": "string", - "x-ms-enum": { - "name": "ReplicationProtectedItemOperation", - "modelAsString": false - } - } - }, - "failoverDirections": { - "description": "The list of failover directions.", - "type": "array", - "items": { - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - } - }, - "customDetails": { - "$ref": "#/definitions/RecoveryPlanActionDetails", - "description": "The custom details." - } - } - }, - "RecoveryPlanActionDetails": { - "description": "Recovery plan action custom details.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "RecoveryPlanAutomationRunbookActionDetails": { - "description": "Recovery plan Automation runbook action details.", - "required": [ - "fabricLocation" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanActionDetails" - } - ], - "properties": { - "runbookId": { - "description": "The runbook ARM Id.", - "type": "string" - }, - "timeout": { - "description": "The runbook timeout.", - "type": "string" - }, - "fabricLocation": { - "description": "The fabric location.", - "enum": [ - "Primary", - "Recovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "AutomationRunbookActionDetails" - }, - "RecoveryPlanCollection": { - "description": "Recovery plan collection details.", - "type": "object", - "properties": { - "value": { - "description": "The list of recovery plans.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlan" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" } } }, - "RecoveryPlanGroup": { - "description": "Recovery plan group details.", - "required": [ - "groupType" - ], + "AzureToAzureVmSyncedConfigDetails": { + "description": "Azure to Azure VM synced configuration details.", "type": "object", "properties": { - "groupType": { - "description": "The group type.", - "enum": [ - "Shutdown", - "Boot", - "Failover" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanGroupType", - "modelAsString": false - } - }, - "replicationProtectedItems": { - "description": "The list of protected items.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProtectedItem" + "tags": { + "description": "The Azure VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" } }, - "startGroupActions": { - "description": "The start group actions.", + "roleAssignments": { + "description": "The Azure role assignments.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanAction" + "$ref": "#/definitions/RoleAssignment" } }, - "endGroupActions": { - "description": "The end group actions.", + "inputEndpoints": { + "description": "The Azure VM input endpoints.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanAction" + "$ref": "#/definitions/InputEndpoint" } } } }, - "RecoveryPlanGroupTaskDetails": { - "description": "This class represents the recovery plan group task.", + "RoleAssignment": { + "description": "Azure role assignment details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GroupTaskDetails" - } - ], "properties": { + "id": { + "description": "The ARM Id of the role assignment.", + "type": "string" + }, "name": { - "description": "The name.", + "description": "The name of the role assignment.", "type": "string" }, - "groupId": { - "description": "The group identifier.", + "scope": { + "description": "Role assignment scope.", "type": "string" }, - "rpGroupType": { - "description": "The group type.", + "principalId": { + "description": "Principal Id.", + "type": "string" + }, + "roleDefinitionId": { + "description": "Role definition id.", "type": "string" } - }, - "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" + } }, - "RecoveryPlanHyperVReplicaAzureFailbackInput": { - "description": "Recovery plan HVR Azure failback input.", - "required": [ - "dataSyncOption", - "recoveryVmCreationOption" - ], + "InputEndpoint": { + "description": "Azure VM input endpoint details.", + "type": "object", + "properties": { + "endpointName": { + "description": "The input endpoint name.", + "type": "string" + }, + "privatePort": { + "format": "int32", + "description": "The input endpoint private port.", + "type": "integer" + }, + "publicPort": { + "format": "int32", + "description": "The input endpoint public port.", + "type": "integer" + }, + "protocol": { + "description": "The input endpoint protocol.", + "type": "string" + } + } + }, + "HyperVReplicaAzureEnableProtectionInput": { + "description": "Azure specific enable protection input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], "properties": { - "dataSyncOption": { - "description": "The data sync option.", - "enum": [ - "ForDownTime", - "ForSynchronization" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSyncStatus", - "modelAsString": false - } + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" }, - "recoveryVmCreationOption": { - "description": "The ALR option.", - "enum": [ - "CreateVmIfNotFound", - "NoAction" - ], - "type": "string", - "x-ms-enum": { - "name": "AlternateLocationRecoveryOption", - "modelAsString": false + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vhdId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure Vm Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The list of VHD IDs of disks to be protected.", + "type": "array", + "items": { + "type": "string" } + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "RecoveryPlanHyperVReplicaAzureFailoverInput": { - "description": "Recovery plan HVR Azure failover input.", + "SanEnableProtectionInput": { + "description": "San enable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "San" + }, + "InMageAzureV2EnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", "required": [ - "vaultLocation" + "storageAccountId" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], "properties": { - "vaultLocation": { - "description": "The vault location.", + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure Vm Name.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "The primary KEK certificate PFX.", + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "The secondary KEK certificate PFX.", + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", "type": "string" }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "HyperVReplicaAzureRpRecoveryPointType", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "RecoveryPlanInMageAzureV2FailoverInput": { - "description": "Recovery plan InMageAzureV2 failover input.", - "required": [ - "vaultLocation", - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "vaultLocation": { - "description": "The vault location.", + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", "type": "string" }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "InMageV2RpRecoveryPointType", - "modelAsString": false - } - }, - "useMultiVmSyncPoint": { - "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" }, - "RecoveryPlanInMageFailoverInput": { - "description": "Recovery plan InMage failover input.", + "InMageEnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", "required": [ - "recoveryPointType" + "masterTargetId", + "processServerId", + "retentionDrive", + "multiVmGroupId", + "multiVmGroupName" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "LatestTime", - "LatestTag", - "Custom" - ], - "type": "string", - "x-ms-enum": { - "name": "RpInMageRecoveryPointType", - "modelAsString": false + "vmFriendlyName": { + "description": "The Vm Name.", + "type": "string" + }, + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" } } }, "x-ms-discriminator-value": "InMage" }, - "RecoveryPlanManualActionDetails": { - "description": "Recovery plan manual action details.", + "InMageDiskExclusionInput": { + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanActionDetails" - } - ], "properties": { - "description": { - "description": "The manual action description.", - "type": "string" + "volumeOptions": { + "description": "The volume label based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + "diskSignatureOptions": { + "description": "The guest disk signature based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } } - }, - "x-ms-discriminator-value": "ManualActionDetails" + } }, - "RecoveryPlanPlannedFailoverInput": { - "description": "Recovery plan planned failover input.", - "required": [ - "properties" - ], + "InMageVolumeExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", - "description": "The recovery plan planned failover input properties." + "volumeLabel": { + "description": "The volume label. The disk having any volume with this label will be excluded from replication.", + "type": "string" + }, + "onlyExcludeIfSingleVolume": { + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", + "type": "string" } } }, - "RecoveryPlanPlannedFailoverInputProperties": { - "description": "Recovery plan planned failover input properties.", - "required": [ - "failoverDirection" - ], + "InMageDiskSignatureExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + "diskSignature": { + "description": "The guest signature of disk to be excluded from replication.", + "type": "string" } } }, - "RecoveryPlanProperties": { - "description": "Recovery plan custom details.", + "A2AEnableProtectionInput": { + "description": "A2A enable protection input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], "properties": { - "friendlyName": { - "description": "The friendly name.", - "type": "string" - }, - "primaryFabricId": { - "description": "The primary fabric Id.", + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", + "recoveryContainerId": { + "description": "The recovery container Id.", "type": "string" }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", "type": "string" }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", "type": "string" }, - "replicationProviders": { - "description": "The list of replication providers.", + "vmDisks": { + "description": "The list of vm disk details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/A2AVmDiskInputDetails" } }, - "allowedOperations": { - "description": "The list of allowed operations.", + "vmManagedDisks": { + "description": "The list of vm managed disk details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" } }, - "lastPlannedFailoverTime": { - "format": "date-time", - "description": "The start time of the last planned failover.", - "type": "string" - }, - "lastUnplannedFailoverTime": { - "format": "date-time", - "description": "The start time of the last unplanned failover.", - "type": "string" - }, - "lastTestFailoverTime": { - "format": "date-time", - "description": "The start time of the last test failover.", - "type": "string" - }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario details." + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" }, - "currentScenarioStatus": { - "description": "The recovery plan status.", + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AVmDiskInputDetails": { + "description": "Azure VM disk input details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", "type": "string" }, - "currentScenarioStatusDescription": { - "description": "The recovery plan status description.", + "recoveryAzureStorageAccountId": { + "description": "The recovery VHD storage account Id.", "type": "string" }, - "groups": { - "description": "The recovery plan groups.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanGroup" - } + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Id.", + "type": "string" } } }, - "RecoveryPlanProtectedItem": { - "description": "Recovery plan protected item.", + "A2AVmManagedDiskInputDetails": { + "description": "Azure VM managed disk input details.", "type": "object", "properties": { - "id": { - "description": "The ARM Id of the recovery plan protected item.", + "diskId": { + "description": "The disk Id.", "type": "string" }, - "virtualMachineId": { - "description": "The virtual machine Id.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Arm Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", "type": "string" } } }, - "RecoveryPlanProviderSpecificFailoverInput": { - "description": "Recovery plan provider specific failover input base class.", + "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { + "description": "HyperV replica Azure input to update replication protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], "properties": { - "instanceType": { - "description": "The class type.", + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "RecoveryPlanScriptActionDetails": { - "description": "Recovery plan script action details.", - "required": [ - "path", - "fabricLocation" - ], + "InMageAzureV2UpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" } ], "properties": { - "path": { - "description": "The script path.", + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", "type": "string" }, - "timeout": { - "description": "The script timeout.", + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", - "enum": [ - "Primary", - "Recovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false - } + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" } }, - "x-ms-discriminator-value": "ScriptActionDetails" + "x-ms-discriminator-value": "InMageAzureV2" }, - "RecoveryPlanShutdownGroupTaskDetails": { - "description": "This class represents the recovery plan shutdown group task details.", + "A2AUpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/GroupTaskDetails" + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" } ], "properties": { - "name": { - "description": "The name.", + "recoveryCloudServiceId": { + "description": "The target cloud service ARM Id (for V1).", "type": "string" }, - "groupId": { - "description": "The group identifier.", + "recoveryResourceGroupId": { + "description": "The target resource group ARM Id (for V2).", "type": "string" }, - "rpGroupType": { - "description": "The group type.", + "managedDiskUpdateDetails": { + "description": "Managed disk update details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", "type": "string" } }, - "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + "x-ms-discriminator-value": "A2A" }, - "RecoveryPlanTestFailoverCleanupInput": { - "description": "Recovery plan test failover cleanup input.", - "required": [ - "properties" - ], + "A2AVmManagedDiskUpdateDetails": { + "description": "Azure VM managed disk update input details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", - "description": "The recovery plan test failover cleanup input properties." + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type before failover.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type before failover.", + "type": "string" } } }, - "RecoveryPlanTestFailoverCleanupInputProperties": { - "description": "Recovery plan test failover cleanup input properties.", + "AzureToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], "properties": { - "comments": { - "description": "The test failover cleanup comments.", + "primaryNetworkId": { + "description": "The primary azure vnet Id.", "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureToAzure" }, - "RecoveryPlanTestFailoverInput": { - "description": "Recovery plan test failover input.", - "required": [ - "properties" - ], + "VmmToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", - "description": "The recovery plan test failover input properties." + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } - } - }, - "RecoveryPlanTestFailoverInputProperties": { - "description": "Recovery plan test failover input properties.", - "required": [ - "failoverDirection", - "networkType" ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", "type": "object", - "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "networkType": { - "description": "The network type to be used for test failover.", - "type": "string" - }, - "networkId": { - "description": "The Id of the network to be used for test failover.", - "type": "string" - }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", - "type": "string" - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } - } - }, - "RecoveryPlanUnplannedFailoverInput": { - "description": "Recovery plan unplanned failover input.", - "required": [ - "properties" ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "AzureToAzureUpdateNetworkMappingInput": { + "description": "Updates network mappings input.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", - "description": "The recovery plan unplanned failover input properties." + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" } - } - }, - "RecoveryPlanUnplannedFailoverInputProperties": { - "description": "Recovery plan unplanned failover input properties.", - "required": [ - "failoverDirection", - "sourceSiteOperations" ], - "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "sourceSiteOperations": { - "description": "A value indicating whether source site operations are required.", - "enum": [ - "Required", - "NotRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "SourceSiteOperations", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureToAzure" }, - "RecoveryPoint": { - "description": "Base class representing a recovery point.", + "VmmToAzureUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to azure.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" } ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Recovery point related data." + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" } - } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" }, - "RecoveryPointCollection": { - "description": "Collection of recovery point details.", + "AzureFabricSpecificDetails": { + "description": "Azure Fabric Specific Details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], "properties": { - "value": { - "description": "The recovery point details.", + "location": { + "description": "The Location for the Azure fabric.", + "type": "string" + }, + "containerIds": { + "description": "The container Ids for the Azure fabric.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPoint" + "type": "string" } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } - } + }, + "x-ms-discriminator-value": "Azure" }, - "RecoveryPointProperties": { - "description": "Recovery point properties.", + "VmmDetails": { + "description": "VMM fabric specific details.", "type": "object", - "properties": { - "recoveryPointTime": { - "format": "date-time", - "description": "The recovery point time.", - "type": "string" - }, - "recoveryPointType": { - "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", - "description": "The provider specific details for the recovery point." + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" } - } + ], + "properties": {}, + "x-ms-discriminator-value": "VMM" }, - "RecoveryServicesProvider": { - "description": "Provider details.", + "HyperVSiteDetails": { + "description": "HyperVSite fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/FabricSpecificDetails" } ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryServicesProviderProperties", - "description": "Provider properties." - } - } + "properties": {}, + "x-ms-discriminator-value": "HyperVSite" }, - "RecoveryServicesProviderCollection": { - "description": "Collection of providers.", + "VMwareDetails": { + "description": "Store the fabric details specific to the VMware fabric.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], "properties": { - "value": { - "description": "The Servers details.", + "processServers": { + "description": "The list of Process Servers associated with the fabric.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/ProcessServer" } }, - "nextLink": { - "description": "The value of next link.", + "masterTargetServers": { + "description": "The list of Master Target servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/MasterTargetServer" + } + }, + "runAsAccounts": { + "description": "The list of run as accounts created on the server.", + "type": "array", + "items": { + "$ref": "#/definitions/RunAsAccount" + } + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this CS.", "type": "string" - } - } - }, - "RecoveryServicesProviderProperties": { - "description": "Recovery services provider properties.", - "type": "object", - "properties": { - "fabricType": { - "description": "Type of the site.", + }, + "processServerCount": { + "description": "The number of process servers.", "type": "string" }, - "friendlyName": { - "description": "Friendly name of the DRA.", + "agentCount": { + "description": "The number of source and target servers configured to talk to this CS.", "type": "string" }, - "providerVersion": { - "description": "The provider version.", + "protectedServers": { + "description": "The number of protected servers.", "type": "string" }, - "serverVersion": { - "description": "The fabric provider.", + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "webLoad": { + "description": "The web load.", + "type": "string" + }, + "webLoadStatus": { + "description": "The web load status.", + "type": "string" + }, + "databaseServerLoad": { + "description": "The database server load.", + "type": "string" + }, + "databaseServerLoadStatus": { + "description": "The database server load status.", + "type": "string" + }, + "csServiceStatus": { + "description": "The CS service status.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent Version.", "type": "string" }, - "providerVersionState": { - "description": "DRA version status.", + "hostName": { + "description": "The host name.", "type": "string" }, - "providerVersionExpiryDate": { + "lastHeartbeat": { "format": "date-time", - "description": "Expiry date of the version.", + "description": "The last heartbeat received from CS server.", "type": "string" }, - "fabricFriendlyName": { - "description": "The fabric friendly name.", + "versionStatus": { + "description": "Version status", "type": "string" }, - "lastHeartBeat": { + "sslCertExpiryDate": { "format": "date-time", - "description": "Time when last heartbeat was sent by the DRA.", - "type": "string" - }, - "connectionStatus": { - "description": "A value indicating whether DRA is responsive.", + "description": "CS SSL cert expiry date.", "type": "string" }, - "protectedItemCount": { + "sslCertExpiryRemainingDays": { "format": "int32", - "description": "Number of protected VMs currently managed by the DRA.", + "description": "CS SSL cert expiry date.", "type": "integer" }, - "allowedScenarios": { - "description": "The scenarios allowed on this provider.", - "type": "array", - "items": { - "type": "string" - } - }, - "healthErrorDetails": { - "description": "The recovery services provider health error details.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "draIdentifier": { - "description": "The DRA Id.", + "psTemplateVersion": { + "description": "PS template version.", "type": "string" }, - "identityDetails": { - "$ref": "#/definitions/IdentityInformation", - "description": "The identity details." - }, - "providerVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The provider version details." - } - } - }, - "RemoveProtectionContainerMappingInput": { - "description": "Container unpairing input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." - } - } - }, - "RemoveProtectionContainerMappingInputProperties": { - "description": "Unpairing input properties.", - "type": "object", - "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", - "description": "Provider specific input for unpairing." - } - } - }, - "RenewCertificateInput": { - "description": "Certificate renewal input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RenewCertificateInputProperties", - "description": "Renew certificate input properties." - } - } - }, - "RenewCertificateInputProperties": { - "description": "Renew Certificate input properties.", - "type": "object", - "properties": { - "renewCertificateType": { - "description": "Renew certificate type.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" - } - } - }, - "ReplicationGroupDetails": { - "description": "Replication group details. This will be used in case of San and Wvr.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "ReplicationGroupDetails" - }, - "ReplicationProtectedItem": { - "description": "Replication protected item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ReplicationProtectedItemProperties", - "description": "The custom data." - } - } - }, - "ReplicationProtectedItemCollection": { - "description": "Replication protected item collection.", - "type": "object", - "properties": { - "value": { - "description": "The Replication protected item details.", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicationProtectedItem" - } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." } - } + }, + "x-ms-discriminator-value": "VMware" }, - "ReplicationProtectedItemProperties": { - "description": "Replication protected item custom data details.", + "ProcessServer": { + "description": "Details of the Process Server.", "type": "object", "properties": { "friendlyName": { - "description": "The name.", + "description": "The Process Server's friendly name.", "type": "string" }, - "protectedItemType": { - "description": "The type of protected item type.", + "id": { + "description": "The Process Server Id.", "type": "string" }, - "protectableItemId": { - "description": "The protected item ARM Id.", + "ipAddress": { + "description": "The IP address of the server.", "type": "string" }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", + "osType": { + "description": "The OS type of the server.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The friendly name of the primary fabric.", + "agentVersion": { + "description": "The version of the scout component on the server.", "type": "string" }, - "primaryFabricProvider": { - "description": "The fabric provider of the primary fabric.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The friendly name of recovery fabric.", + "versionStatus": { + "description": "Version status", "type": "string" }, - "recoveryFabricId": { - "description": "The Arm Id of recovery fabric.", - "type": "string" + "mobilityServiceUpdates": { + "description": "The list of the mobility service updates available on the Process Server.", + "type": "array", + "items": { + "$ref": "#/definitions/MobilityServiceUpdate" + } }, - "primaryProtectionContainerFriendlyName": { - "description": "The name of primary protection container friendly name.", + "hostId": { + "description": "The agent generated Id.", "type": "string" }, - "recoveryProtectionContainerFriendlyName": { - "description": "The name of recovery container friendly name.", + "machineCount": { + "description": "The servers configured with this PS.", "type": "string" }, - "protectionState": { - "description": "The protection status.", + "replicationPairCount": { + "description": "The number of replication pairs configured in this PS.", "type": "string" }, - "protectionStateDescription": { - "description": "The protection state description.", + "systemLoad": { + "description": "The percentage of the system load.", "type": "string" }, - "activeLocation": { - "description": "The Current active location of the PE.", + "systemLoadStatus": { + "description": "The system load status.", "type": "string" }, - "testFailoverState": { - "description": "The Test failover state.", + "cpuLoad": { + "description": "The percentage of the CPU load.", "type": "string" }, - "testFailoverStateDescription": { - "description": "The Test failover state description.", + "cpuLoadStatus": { + "description": "The CPU load status.", "type": "string" }, - "allowedOperations": { - "description": "The allowed operations on the Replication protected item.", - "type": "array", - "items": { - "type": "string" - } + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" }, - "replicationHealth": { - "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", - "type": "string" + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" }, - "failoverHealth": { - "description": "The consolidated failover health for the VM.", + "memoryUsageStatus": { + "description": "The memory usage status.", "type": "string" }, - "healthErrors": { - "description": "List of health errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" }, - "policyId": { - "description": "The ID of Policy governing this PE.", - "type": "string" + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" }, - "policyFriendlyName": { - "description": "The name of Policy governing this PE.", + "spaceUsageStatus": { + "description": "The space usage status.", "type": "string" }, - "lastSuccessfulFailoverTime": { - "format": "date-time", - "description": "The Last successful failover time.", + "psServiceStatus": { + "description": "The PS service status.", "type": "string" }, - "lastSuccessfulTestFailoverTime": { + "sslCertExpiryDate": { "format": "date-time", - "description": "The Last successful test failover time.", + "description": "The PS SSL cert expiry date.", "type": "string" }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario." + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" }, - "failoverRecoveryPointId": { - "description": "The recovery point ARM Id to which the Vm was failed over.", + "osVersion": { + "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReplicationProviderSpecificSettings", - "description": "The Replication provider custom settings." + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" - } - } - }, - "ReplicationProviderContainerUnmappingInput": { - "description": "Provider specific input for unpairing operations.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." } } }, - "ReplicationProviderSpecificContainerCreationInput": { - "description": "Provider specific input for container creation operation.", + "MasterTargetServer": { + "description": "Details of a Master Target Server.", "type": "object", "properties": { - "instanceType": { - "description": "The class type.", + "id": { + "description": "The server Id.", "type": "string" - } - }, - "discriminator": "instanceType" - }, - "ReplicationProviderSpecificContainerMappingInput": { - "description": "Provider specific input for pairing operations.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + }, + "ipAddress": { + "description": "The IP address of the server.", "type": "string" - } - } - }, - "ReplicationProviderSpecificSettings": { - "description": "Replication provider specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "Resource": { - "description": "Azure resource.", - "properties": { - "id": { - "description": "Resource Id", - "type": "string", - "readOnly": true }, "name": { - "description": "Resource Name", - "type": "string", - "readOnly": true + "description": "The server name.", + "type": "string" }, - "type": { - "description": "Resource Type", - "type": "string", - "readOnly": true + "osType": { + "description": "The OS type of the server.", + "type": "string" }, - "location": { - "description": "Resource Location", + "agentVersion": { + "description": "The version of the scout component on the server.", "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ResourceHealthSummary": { - "description": "Base class to define the health summary of the resources contained under an Arm resource.", - "type": "object", - "properties": { - "resourceCount": { - "format": "int32", - "description": "The count of total resources umder the container.", - "type": "integer" }, - "issues": { - "description": "The list of summary of health errors across the resources under the container.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status", + "type": "string" + }, + "retentionVolumes": { + "description": "The retention volumes of Master target Server.", "type": "array", "items": { - "$ref": "#/definitions/HealthErrorSummary" + "$ref": "#/definitions/RetentionVolume" } - } - } - }, - "ResumeJobParams": { - "description": "Resume job params.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ResumeJobParamsProperties", - "description": "Resume job properties." - } - } - }, - "ResumeJobParamsProperties": { - "description": "Resume job properties.", - "type": "object", - "properties": { - "comments": { - "description": "Resume job comments.", - "type": "string" - } - } - }, - "RetentionVolume": { - "description": "The retention details of the MT.", - "type": "object", - "properties": { - "volumeName": { - "description": "The volume name.", - "type": "string" }, - "capacityInBytes": { - "format": "int64", - "description": "The volume capacity.", - "type": "integer" + "dataStores": { + "description": "The list of data stores in the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/DataStore" + } }, - "freeSpaceInBytes": { - "format": "int64", - "description": "The free space available in this volume.", - "type": "integer" + "validationErrors": { + "description": "Validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "thresholdPercentage": { + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "diskCount": { "format": "int32", - "description": "The threshold percentage.", + "description": "Disk count of the master target.", "type": "integer" - } - } - }, - "ReverseReplicationInput": { - "description": "Reverse replication input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ReverseReplicationInputProperties", - "description": "Reverse replication properties" - } - } - }, - "ReverseReplicationInputProperties": { - "description": "Reverse replication input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", - "description": "Provider specific reverse replication input." - } - } - }, - "ReverseReplicationProviderSpecificInput": { - "description": "Provider specific reverse replication input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "RoleAssignment": { - "description": "Azure role assignment details.", - "type": "object", - "properties": { - "id": { - "description": "The ARM Id of the role assignment.", + "osVersion": { + "description": "OS Version of the master target.", "type": "string" }, - "name": { - "description": "The name of the role assignment.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" }, - "scope": { - "description": "Role assignment scope.", + "marsAgentVersion": { + "description": "MARS agent version.", "type": "string" }, - "principalId": { - "description": "Principal Id.", + "marsAgentExpiryDate": { + "format": "date-time", + "description": "MARS agent expiry date.", "type": "string" }, - "roleDefinitionId": { - "description": "Role definition id.", - "type": "string" + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Agent version details." + }, + "marsAgentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Mars agent version details." } } }, @@ -13142,825 +12891,957 @@ } } }, - "SanEnableProtectionInput": { - "description": "San enable protection provider specific input.", + "MobilityServiceUpdate": { + "description": "The Mobility Service update details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "properties": { + "version": { + "description": "The version of the latest update.", + "type": "string" + }, + "rebootStatus": { + "description": "The reboot status of the update - whether it is required or not.", + "type": "string" + }, + "osType": { + "description": "The OS type.", + "type": "string" } - ], - "properties": {}, - "x-ms-discriminator-value": "San" + } }, - "ScriptActionTaskDetails": { - "description": "This class represents the script action task details.", + "RetentionVolume": { + "description": "The retention details of the MT.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "name": { - "description": "The name.", + "volumeName": { + "description": "The volume name.", "type": "string" }, - "path": { - "description": "The path.", - "type": "string" + "capacityInBytes": { + "format": "int64", + "description": "The volume capacity.", + "type": "integer" }, - "output": { - "description": "The output.", - "type": "string" + "freeSpaceInBytes": { + "format": "int64", + "description": "The free space available in this volume.", + "type": "integer" }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" + "thresholdPercentage": { + "format": "int32", + "description": "The threshold percentage.", + "type": "integer" } - }, - "x-ms-discriminator-value": "ScriptActionTaskDetails" + } }, - "ServiceError": { - "description": "ASR error model", + "DataStore": { + "description": "The datastore details of the MT.", "type": "object", "properties": { - "code": { - "description": "Error code.", + "symbolicName": { + "description": "The symbolic name of data store.", "type": "string" }, - "message": { - "description": "Error message.", + "uuid": { + "description": "The uuid of data store.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", + "capacity": { + "description": "The capacity of data store in GBs.", "type": "string" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", + "freeSpace": { + "description": "The free space of data store in GBs.", "type": "string" }, - "activityId": { - "description": "Activity Id.", + "type": { + "description": "The type of data store.", "type": "string" } } }, - "StorageClassification": { - "description": "Storage object definition.", + "VMwareV2FabricSpecificDetails": { + "description": "VMwareV2 fabric Specific Details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/FabricSpecificDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/StorageClassificationProperties", - "description": "Proprties of the storage object." - } - } - }, - "StorageClassificationCollection": { - "description": "Collection of storage details.", - "type": "object", - "properties": { - "value": { - "description": "The storage details.", - "type": "array", - "items": { - "$ref": "#/definitions/StorageClassification" - } - }, - "nextLink": { - "description": "The value of next link.", + "srsServiceEndpoint": { + "description": "The endpoint for making requests to the SRS Service.", "type": "string" - } - } - }, - "StorageClassificationMapping": { - "description": "Storage mapping object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/StorageClassificationMappingProperties", - "description": "Proprties of the storage mappping object." - } - } - }, - "StorageClassificationMappingCollection": { - "description": "Collection of storage mapping details.", - "type": "object", - "properties": { - "value": { - "description": "The storage details.", - "type": "array", - "items": { - "$ref": "#/definitions/StorageClassificationMapping" - } }, - "nextLink": { - "description": "The value of next link.", + "rcmServiceEndpoint": { + "description": "The endpoint for making requests to the RCM Service.", "type": "string" - } - } - }, - "StorageClassificationMappingInput": { - "description": "Storage mapping input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/StorageMappingInputProperties", - "description": "Storage mapping input properties." - } - } - }, - "StorageClassificationMappingProperties": { - "description": "Storage mapping properties.", - "type": "object", - "properties": { - "targetStorageClassificationId": { - "description": "Target storage object Id.", + }, + "keyVaultUrl": { + "description": "The Key Vault URL.", "type": "string" - } - } - }, - "StorageClassificationProperties": { - "description": "Storage object properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the Storage classification.", + }, + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", "type": "string" } - } + }, + "x-ms-discriminator-value": "VMwareV2" }, - "StorageMappingInputProperties": { - "description": "Storage mapping input properties.", + "HyperVVirtualMachineDetails": { + "description": "Single Host fabric provider specific VM settings.", "type": "object", - "properties": { - "targetStorageClassificationId": { - "description": "The ID of the storage object.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" } - } - }, - "Subnet": { - "description": "Subnets of the network.", - "type": "object", + ], "properties": { - "name": { - "description": "The subnet name.", + "sourceItemId": { + "description": "The source id of the object.", "type": "string" }, - "friendlyName": { - "description": "The subnet friendly name.", + "generation": { + "description": "The id of the object in fabric.", "type": "string" }, - "addressList": { - "description": "The list of addresses for the subnet.", + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/DiskDetails" } - } - } - }, - "SwitchProtectionInput": { - "description": "Switch protection input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/SwitchProtectionInputProperties", - "description": "Switch protection properties" - } - } - }, - "SwitchProtectionInputProperties": { - "description": "Switch protection input properties.", - "type": "object", - "properties": { - "replicationProtectedItemName": { - "description": "The unique replication protected item name.", - "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", - "description": "Provider specific switch protection input." + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" } - } + }, + "x-ms-discriminator-value": "HyperVVirtualMachine" }, - "SwitchProtectionJobDetails": { - "description": "This class represents details for switch protection job.", + "VmmVirtualMachineDetails": { + "description": "VMM fabric provider specific VM settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/ConfigurationSettings" } ], "properties": { - "newReplicationProtectedItemId": { - "description": "ARM Id of the new replication protected item.", + "sourceItemId": { + "description": "The source id of the object.", "type": "string" + }, + "generation": { + "description": "The id of the object in fabric.", + "type": "string" + }, + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" } }, - "x-ms-discriminator-value": "SwitchProtectionJobDetails" + "x-ms-discriminator-value": "VmmVirtualMachine" }, - "SwitchProtectionProviderSpecificInput": { - "description": "Provider specific switch protection input.", + "VMwareVirtualMachineDetails": { + "description": "VMware provider specific settings", "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" } - }, - "discriminator": "instanceType" - }, - "TargetComputeSize": { - "description": "Represents applicable recovery vm sizes.", - "type": "object", + ], "properties": { - "id": { - "description": "The Id.", + "agentGeneratedId": { + "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", "type": "string" }, - "name": { - "description": "The name.", + "agentInstalled": { + "description": "The value indicating if InMage scout agent is installed on guest.", "type": "string" }, - "type": { - "description": "The Type of the object.", + "osType": { + "description": "The OsType installed on VM.", "type": "string" }, - "properties": { - "$ref": "#/definitions/TargetComputeSizeProperties", - "description": "The custom data." - } - } - }, - "TargetComputeSizeCollection": { - "description": "Target compute size collection.", - "type": "object", - "properties": { - "value": { - "description": "The list of target compute sizes.", + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "poweredOn": { + "description": "The value indicating whether VM is powered on.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The VCenter infrastructure Id.", + "type": "string" + }, + "discoveryType": { + "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "diskDetails": { + "description": "The disk details.", "type": "array", "items": { - "$ref": "#/definitions/TargetComputeSize" + "$ref": "#/definitions/InMageDiskDetails" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "validationErrors": { + "description": "The validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } } - } + }, + "x-ms-discriminator-value": "VMwareVirtualMachine" }, - "TargetComputeSizeProperties": { - "description": "Represents applicable recovery vm sizes properties.", + "InMageDiskDetails": { + "description": "VMware/Physical specific Disk Details", "type": "object", "properties": { - "name": { - "description": "Target compute size name.", + "diskId": { + "description": "The disk Id.", "type": "string" }, - "friendlyName": { - "description": "Target compute size display name.", + "diskName": { + "description": "The disk name.", "type": "string" }, - "cpuCoresCount": { - "format": "int32", - "description": "The maximum cpu cores count supported by target compute size.", - "type": "integer" - }, - "memoryInGB": { - "format": "double", - "description": "The maximum memory in GB supported by target compute size.", - "type": "number" + "diskSizeInMB": { + "description": "The disk size in MB.", + "type": "string" }, - "maxDataDiskCount": { - "format": "int32", - "description": "The maximum data disks count supported by target compute size.", - "type": "integer" + "diskType": { + "description": "Whether disk is system disk or data disk.", + "type": "string" }, - "maxNicsCount": { - "format": "int32", - "description": "The maximum Nics count supported by target compute size.", - "type": "integer" + "diskConfiguration": { + "description": "Whether disk is dynamic disk or basic disk.", + "type": "string" }, - "errors": { - "description": "The reasons why the target compute size is not applicable for the protected item.", + "volumeList": { + "description": "Volumes of the disk.", "type": "array", "items": { - "$ref": "#/definitions/ComputeSizeErrorDetails" + "$ref": "#/definitions/DiskVolumeDetails" } - }, - "highIopsSupported": { - "description": "The value indicating whether the target compute size supports high Iops.", - "type": "string" } } }, - "TaskTypeDetails": { - "description": "Task details based on specific task type.", + "DiskVolumeDetails": { + "description": "Volume details.", "type": "object", "properties": { - "instanceType": { - "description": "The type of task details.", + "label": { + "description": "The volume label.", + "type": "string" + }, + "name": { + "description": "The volume name.", "type": "string" } - }, - "discriminator": "instanceType" + } }, - "TestFailoverCleanupInput": { - "description": "Input definition for test failover cleanup.", - "required": [ - "properties" - ], + "ReplicationGroupDetails": { + "description": "Replication group details. This will be used in case of San and Wvr.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverCleanupInputProperties", - "description": "Test failover cleanup input properties." + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" } - } + ], + "properties": {}, + "x-ms-discriminator-value": "ReplicationGroupDetails" }, - "TestFailoverCleanupInputProperties": { - "description": "Input definition for test failover cleanup input properties.", + "InMageAzureV2RecoveryPointDetails": { + "description": "InMage Azure V2 provider specific recovery point details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], "properties": { - "comments": { - "description": "Test failover cleanup comments.", + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "TestFailoverInput": { - "description": "Input definition for planned failover.", + "A2ARecoveryPointDetails": { + "description": "A2A provider specific recovery point details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverInputProperties", - "description": "Planned failover input properties" + "recoveryPointSyncType": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "enum": [ + "MultiVmSyncRecoveryPoint", + "PerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointSyncType", + "modelAsString": false + } } - } + }, + "x-ms-discriminator-value": "A2A" }, - "TestFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "InMageDisableProtectionProviderSpecificInput": { + "description": "InMage disable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + } + ], + "properties": { + "replicaVmDeletionStatus": { + "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "HyperVReplicaAzureFailoverProviderInput": { + "description": "HvrA provider specific input for failover.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], "properties": { - "failoverDirection": { - "description": "Failover direction.", + "vaultLocation": { + "description": "Location of the vault.", "type": "string" }, - "networkType": { - "description": "Network type to be used for test failover.", + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", "type": "string" }, - "networkId": { - "description": "The id of the network to be used for test failover", + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", "type": "string" }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "TestFailoverJobDetails": { - "description": "This class represents the details for a test failover job.", + "HyperVReplicaAzureFailbackProviderInput": { + "description": "HvrA provider specific input for failback.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/ProviderSpecificFailoverInput" } ], "properties": { - "testFailoverStatus": { - "description": "The test failover status.", - "type": "string" - }, - "comments": { - "description": "The test failover comments.", - "type": "string" - }, - "networkName": { - "description": "The test network name.", + "dataSyncOption": { + "description": "Data sync option.", "type": "string" }, - "networkFriendlyName": { - "description": "The test network friendly name.", + "recoveryVmCreationOption": { + "description": "ALR options to create alternate recovery.", "type": "string" }, - "networkType": { - "description": "The test network type (see TestFailoverInput enum for possible values).", + "providerIdForAlternateRecovery": { + "description": "Provider ID for alternate location", "type": "string" - }, - "protectedItemDetails": { - "description": "The test VM details.", - "type": "array", - "items": { - "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" - } } }, - "x-ms-discriminator-value": "TestFailoverJobDetails" + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" }, - "UnplannedFailoverInput": { - "description": "Input definition for planned failover.", + "InMageAzureV2FailoverProviderInput": { + "description": "InMageAzureV2 provider specific input for failover.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UnplannedFailoverInputProperties", - "description": "Planned failover input properties" + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" } - } - }, - "UnplannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", + ], "properties": { - "failoverDirection": { - "description": "Failover direction.", + "vaultLocation": { + "description": "Location of the vault.", "type": "string" }, - "sourceSiteOperations": { - "description": "Source site operations status", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "UpdateMobilityServiceRequest": { - "description": "Request to update the mobility service on a protected item.", + "InMageFailoverProviderInput": { + "description": "Provider specific input for InMage failover.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", - "description": "The properties of the update mobility service request." + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" } - } - }, - "UpdateMobilityServiceRequestProperties": { - "description": "The properties of an update mobility service request.", - "type": "object", + ], "properties": { - "runAsAccountId": { - "description": "The CS run as account Id.", + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": false + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMage" }, - "UpdateNetworkMappingInput": { - "description": "Update network mapping input.", + "A2AFailoverProviderInput": { + "description": "A2A provider specific input for failover.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/UpdateNetworkMappingInputProperties", - "description": "The input properties needed to update network mapping." + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "UpdateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", + "InMageAgentVersionDetails": { + "description": "InMage agent version details.", "type": "object", "properties": { - "recoveryFabricName": { - "description": "Recovery fabric name.", + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", "type": "string" }, - "recoveryNetworkId": { - "description": "Recovery network Id.", + "version": { + "description": "The agent version.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", - "description": "Fabrics specific input network Id." + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", + "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } } } }, - "UpdatePolicyInput": { - "description": "Update protection profile input.", + "HyperVReplicaAzureReprotectInput": { + "description": "Azure specific reprotect input.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdatePolicyInputProperties", - "description": "The ReplicationProviderSettings." + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" } - } - }, - "UpdatePolicyInputProperties": { - "description": "Policy update properties.", - "type": "object", + ], "properties": { - "replicationProviderSettings": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" + }, + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vHDId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "UpdateRecoveryPlanInput": { - "description": "Update recovery plan input class.", + "InMageAzureV2ReprotectInput": { + "description": "InMageAzureV2 specific provider input.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", - "description": "Recovery plan update properties." + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" } - } - }, - "UpdateRecoveryPlanInputProperties": { - "description": "Recovery plan updation properties.", - "type": "object", - "properties": { - "groups": { - "description": "The recovery plan groups.", + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "type": "string" } } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "UpdateReplicationProtectedItemInput": { - "description": "Update replication protected item input.", + "InMageReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "profileId" + ], "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", - "description": "Update replication protected item properties." + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" } - } - }, - "UpdateReplicationProtectedItemInputProperties": { - "description": "Update protected item input properties.", - "type": "object", + ], "properties": { - "recoveryAzureVMName": { - "description": "Target azure VM name given by the user.", + "masterTargetId": { + "description": "The Master Target Id.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "Target Azure Vm size.", + "processServerId": { + "description": "The Process Server Id.", "type": "string" }, - "selectedRecoveryAzureNetworkId": { - "description": "Target Azure Network Id.", + "retentionDrive": { + "description": "The retention drive to use on the MT.", "type": "string" }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", + "runAsAccountId": { + "description": "The CS account Id.", "type": "string" }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "datastoreName": { + "description": "The target datastore name.", "type": "string" }, - "vmNics": { - "description": "The list of vm nic details.", + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "profileId": { + "description": "The Policy Id.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", "type": "array", "items": { - "$ref": "#/definitions/VMNicInputDetails" + "type": "string" } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "A2AReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" }, - "licenseType": { - "description": "License type.", - "enum": [ - "NotSpecified", - "NoLicenseType", - "WindowsServer" - ], - "type": "string", - "x-ms-enum": { - "name": "LicenseType", - "modelAsString": false + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" } }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, "recoveryAvailabilitySetId": { - "description": "The target availability set id.", + "description": "The recovery availability set.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", - "description": "The provider specific input to update replication protected item." - } - } - }, - "UpdateReplicationProtectedItemProviderInput": { - "description": "Update replication protected item provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + "policyId": { + "description": "The Policy Id.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "A2A" }, - "UpdateVCenterRequest": { - "description": "Input required to update vCenter.", + "HyperVReplicaAzureApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateVCenterRequestProperties", - "description": "The update VCenter Request Properties." + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } - } - }, - "UpdateVCenterRequestProperties": { - "description": "The properties of an update vCenter request.", - "type": "object", + ], "properties": { - "friendlyName": { - "description": "The friendly name of the vCenter.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", "type": "string" }, - "processServerId": { - "description": "The process server Id from where the update can be orchestrated.", + "primaryKekCertificatePfx": { + "description": "The primary kek certificate pfx.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "secondaryKekCertificatePfx": { + "description": "The secondary kek certificate pfx.", "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id which has priviliges to update the vCenter.", + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "InMageAzureV2ApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "VaultHealthDetails": { - "description": "Vault health details definition.", + "A2AApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2A provider.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "JobTaskDetails": { + "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/VaultHealthProperties", - "description": "The vault health related data." + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } - } + }, + "x-ms-discriminator-value": "JobTaskDetails" }, - "VaultHealthProperties": { - "description": "class to define the health summary of the Vault.", + "JobEntity": { + "description": "This class contains the minimal job details required to navigate to the desired drill down.", "type": "object", "properties": { - "vaultErrors": { - "description": "The list of errors on the vault.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } + "jobId": { + "description": "The job id.", + "type": "string" }, - "protectedItemsHealth": { - "$ref": "#/definitions/ResourceHealthSummary", - "description": "The list of the health detail of the protected items in the vault." + "jobFriendlyName": { + "description": "The job display name.", + "type": "string" + }, + "targetObjectId": { + "description": "The object id.", + "type": "string" + }, + "targetObjectName": { + "description": "The object name.", + "type": "string" + }, + "targetInstanceType": { + "description": "The workflow affected object type.", + "type": "string" }, - "fabricsHealth": { - "$ref": "#/definitions/ResourceHealthSummary", - "description": "The list of the health detail of the fabrics in the vault." + "jobScenarioName": { + "description": "The job name. Enum type ScenarioName.", + "type": "string" } } }, - "VCenter": { - "description": "vCenter definition.", + "VirtualMachineTaskDetails": { + "description": "This class represents the virtual machine task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/VCenterProperties", - "description": "VCenter related data." + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } - } + }, + "x-ms-discriminator-value": "VirtualMachineTaskDetails" }, - "VCenterCollection": { - "description": "Collection of vCenter details.", + "FabricReplicationGroupTaskDetails": { + "description": "This class represents the fabric replication group task details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { - "value": { - "description": "The vCenter details.", - "type": "array", - "items": { - "$ref": "#/definitions/VCenter" - } + "skippedReason": { + "description": "The skipped reason.", + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "skippedReasonString": { + "description": "The skipped reason string.", "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } - } + }, + "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" }, - "VCenterProperties": { - "description": "vCenter properties.", + "ManualActionTaskDetails": { + "description": "This class represents the manual action task details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { - "friendlyName": { - "description": "Friendly name of the vCenter.", - "type": "string" - }, - "internalId": { - "description": "VCenter internal ID.", + "name": { + "description": "The name.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The time when the last heartbeat was reveived by vCenter.", + "instructions": { + "description": "The instructions.", "type": "string" }, - "discoveryStatus": { - "description": "The VCenter discovery status.", + "observation": { + "description": "The observation.", "type": "string" - }, - "processServerId": { - "description": "The process server Id.", + } + }, + "x-ms-discriminator-value": "ManualActionTaskDetails" + }, + "ScriptActionTaskDetails": { + "description": "This class represents the script action task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The name.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the vCenter.", + "path": { + "description": "The path.", "type": "string" }, - "infrastructureId": { - "description": "The infrastructure Id of vCenter.", + "output": { + "description": "The output.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "ScriptActionTaskDetails" + }, + "VmNicUpdatesTaskDetails": { + "description": "This class represents the vm NicUpdates task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmId": { + "description": "Virtual machine Id.", "type": "string" }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", + "nicId": { + "description": "Nic Id.", "type": "string" }, - "fabricArmResourceName": { - "description": "The ARM resource name of the fabric containing this VCenter.", + "name": { + "description": "Name of the Nic.", "type": "string" - }, - "healthErrors": { - "description": "The health errors for this VCenter.", + } + }, + "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + }, + "ConsistencyCheckTaskDetails": { + "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmDetails": { + "description": "The list of inconsistent Vm details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/InconsistentVmDetails" } } - } + }, + "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" }, - "VersionDetails": { - "description": "Version related deatils.", + "InconsistentVmDetails": { + "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", "type": "object", "properties": { - "version": { - "description": "The agent version.", + "vmName": { + "description": "The Vm name.", "type": "string" }, - "expiryDate": { - "format": "date-time", - "description": "Version expiry date.", + "cloudName": { + "description": "The Cloud name.", "type": "string" }, - "status": { - "description": "A value indicating whether security update required.", - "enum": [ - "Supported", - "NotSupported", - "Deprecated", - "UpdateRequired", - "SecurityUpdateRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "AgentVersionStatus", - "modelAsString": false + "details": { + "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", + "type": "array", + "items": { + "type": "string" + } + }, + "errorIds": { + "description": "The list of error ids.", + "type": "array", + "items": { + "type": "string" } } } }, - "VirtualMachineTaskDetails": { - "description": "This class represents the virtual machine task details.", + "AutomationRunbookTaskDetails": { + "description": "This class represents the task details for an automation runbook.", "type": "object", "allOf": [ { @@ -13968,540 +13849,659 @@ } ], "properties": { - "skippedReason": { - "description": "The skipped reason.", + "name": { + "description": "The recovery plan task name.", "type": "string" }, - "skippedReasonString": { - "description": "The skipped reason string.", + "cloudServiceName": { + "description": "The cloud service of the automation runbook account.", "type": "string" }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." - } - }, - "x-ms-discriminator-value": "VirtualMachineTaskDetails" - }, - "VmmDetails": { - "description": "VMM fabric specific details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificDetails" + "subscriptionId": { + "description": "The subscription Id of the automation runbook account.", + "type": "string" + }, + "accountName": { + "description": "The automation account name of the runbook.", + "type": "string" + }, + "runbookId": { + "description": "The runbook Id.", + "type": "string" + }, + "runbookName": { + "description": "The runbook name.", + "type": "string" + }, + "jobId": { + "description": "The job Id of the runbook execution.", + "type": "string" + }, + "jobOutput": { + "description": "The execution output of the runbook.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" } - ], - "properties": {}, - "x-ms-discriminator-value": "VMM" + }, + "x-ms-discriminator-value": "AutomationRunbookTaskDetails" }, - "VmmToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.", + "InlineWorkflowTaskDetails": { + "description": "This class represents the inline workflow task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + "$ref": "#/definitions/GroupTaskDetails" } ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" + "properties": { + "workflowIds": { + "description": "The list of child workflow ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InlineWorkflowTaskDetails" }, - "VmmToAzureUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to azure.", + "RecoveryPlanGroupTaskDetails": { + "description": "This class represents the recovery plan group task.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/GroupTaskDetails" } ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" }, - "VmmToVmmCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", + "RecoveryPlanShutdownGroupTaskDetails": { + "description": "This class represents the recovery plan shutdown group task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + "$ref": "#/definitions/GroupTaskDetails" } ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" }, - "VmmToVmmUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", + "AsrJobDetails": { + "description": "This class represents job details based on specific job type.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/JobDetails" } ], "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + "x-ms-discriminator-value": "AsrJobDetails" }, - "VmmVirtualMachineDetails": { - "description": "VMM fabric provider specific VM settings.", + "TestFailoverJobDetails": { + "description": "This class represents the details for a test failover job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ConfigurationSettings" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "sourceItemId": { - "description": "The source id of the object.", + "testFailoverStatus": { + "description": "The test failover status.", "type": "string" }, - "generation": { - "description": "The id of the object in fabric.", + "comments": { + "description": "The test failover comments.", "type": "string" }, - "osDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The Last replication time." + "networkName": { + "description": "The test network name.", + "type": "string" }, - "diskDetails": { - "description": "The Last successful failover time.", + "networkFriendlyName": { + "description": "The test network friendly name.", + "type": "string" + }, + "networkType": { + "description": "The test network type (see TestFailoverInput enum for possible values).", + "type": "string" + }, + "protectedItemDetails": { + "description": "The test VM details.", "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" } - }, - "hasPhysicalDisk": { - "description": "A value indicating whether the VM has a physical disk attached.", - "type": "boolean" - }, - "hasFibreChannelAdapter": { - "description": "A value indicating whether the VM has a fibre channel adapter attached.", - "type": "boolean" - }, - "hasSharedVhd": { - "description": "A value indicating whether the VM has a shared VHD attached.", - "type": "boolean" } }, - "x-ms-discriminator-value": "VmmVirtualMachine" + "x-ms-discriminator-value": "TestFailoverJobDetails" }, - "VMNicDetails": { - "description": "Hyper V VM network details.", + "FailoverReplicationProtectedItemDetails": { + "description": "Failover details for a replication protected item.", "type": "object", "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "replicaNicId": { - "description": "The replica nic Id.", - "type": "string" - }, - "sourceNicArmId": { - "description": "The source nic ARM Id.", - "type": "string" - }, - "vMSubnetName": { - "description": "VM subnet name.", + "name": { + "description": "The name.", "type": "string" }, - "vMNetworkName": { - "description": "VM network name.", + "friendlyName": { + "description": "The friendly name.", "type": "string" }, - "recoveryVMNetworkId": { - "description": "Recovery VM network Id.", + "testVmName": { + "description": "The test Vm name.", "type": "string" }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", + "testVmFriendlyName": { + "description": "The test Vm friendly name.", "type": "string" }, - "ipAddressType": { - "description": "Ip address type.", + "networkConnectionStatus": { + "description": "The network connection status.", "type": "string" }, - "primaryNicStaticIPAddress": { - "description": "Primary nic static IP address.", + "networkFriendlyName": { + "description": "The network friendly name.", "type": "string" }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", + "subnet": { + "description": "The network subnet.", "type": "string" }, - "selectionType": { - "description": "Selection type for failover.", + "recoveryPointId": { + "description": "The recovery point Id.", "type": "string" }, - "recoveryNicIpAddressType": { - "description": "IP allocation type for recovery VM.", + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", "type": "string" } } }, - "VMNicInputDetails": { - "description": "Hyper V VM network input details.", + "FailoverJobDetails": { + "description": "This class represents the details for a failover job.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", - "type": "string" - }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", - "type": "string" - }, - "selectionType": { - "description": "Selection type for failover.", - "type": "string" + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } } - } + }, + "x-ms-discriminator-value": "FailoverJobDetails" }, - "VmNicUpdatesTaskDetails": { - "description": "This class represents the vm NicUpdates task details.", + "ExportJobDetails": { + "description": "This class represents details for export jobs workflow.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "vmId": { - "description": "Virtual machine Id.", - "type": "string" - }, - "nicId": { - "description": "Nic Id.", + "blobUri": { + "description": "BlobUri of the exported jobs.", "type": "string" }, - "name": { - "description": "Name of the Nic.", + "sasToken": { + "description": "The sas token to access blob.", "type": "string" } }, - "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + "x-ms-discriminator-value": "ExportJobDetails" }, - "VMwareCbtPolicyCreationInput": { - "description": "VMware Cbt Policy creation input.", + "SwitchProtectionJobDetails": { + "description": "This class represents details for switch protection job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" + "newReplicationProtectedItemId": { + "description": "ARM Id of the new replication protected item.", + "type": "string" } }, - "x-ms-discriminator-value": "VMwareCbt" - }, - "VmwareCbtPolicyDetails": { - "description": "VMware Cbt specific policy details.", + "x-ms-discriminator-value": "SwitchProtectionJobDetails" + }, + "A2AContainerCreationInput": { + "description": "A2A cloud creation input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" } ], - "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" - }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" - } - }, - "x-ms-discriminator-value": "VMwareCbt" + "properties": {}, + "x-ms-discriminator-value": "A2A" }, - "VMwareDetails": { - "description": "Store the fabric details specific to the VMware fabric.", + "A2ASwitchProtectionInput": { + "description": "A2A specific switch protection input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" } ], "properties": { - "processServers": { - "description": "The list of Process Servers associated with the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/ProcessServer" - } + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" }, - "masterTargetServers": { - "description": "The list of Master Target servers associated with the fabric.", + "vmDisks": { + "description": "The list of vm disk details.", "type": "array", "items": { - "$ref": "#/definitions/MasterTargetServer" + "$ref": "#/definitions/A2AVmDiskInputDetails" } }, - "runAsAccounts": { - "description": "The list of run as accounts created on the server.", + "vmManagedDisks": { + "description": "The list of vm managed disk details.", "type": "array", "items": { - "$ref": "#/definitions/RunAsAccount" + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" } }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this CS.", - "type": "string" - }, - "processServerCount": { - "description": "The number of process servers.", - "type": "string" - }, - "agentCount": { - "description": "The number of source and target servers configured to talk to this CS.", - "type": "string" - }, - "protectedServers": { - "description": "The number of protected servers.", - "type": "string" - }, - "systemLoad": { - "description": "The percentage of the system load.", - "type": "string" - }, - "systemLoadStatus": { - "description": "The system load status.", - "type": "string" - }, - "cpuLoad": { - "description": "The percentage of the CPU load.", - "type": "string" - }, - "cpuLoadStatus": { - "description": "The CPU load status.", + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", "type": "string" }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" - }, - "availableMemoryInBytes": { - "format": "int64", - "description": "The available memory.", - "type": "integer" - }, - "memoryUsageStatus": { - "description": "The memory usage status.", + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", "type": "string" }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" - }, - "availableSpaceInBytes": { - "format": "int64", - "description": "The available space.", - "type": "integer" - }, - "spaceUsageStatus": { - "description": "The space usage status.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", "type": "string" }, - "webLoad": { - "description": "The web load.", + "policyId": { + "description": "The Policy Id.", "type": "string" }, - "webLoadStatus": { - "description": "The web load status.", + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "Resource": { + "description": "Azure resource.", + "properties": { + "id": { + "description": "Resource Id", + "type": "string", + "readOnly": true }, - "databaseServerLoad": { - "description": "The database server load.", - "type": "string" + "name": { + "description": "Resource Name", + "type": "string", + "readOnly": true }, - "databaseServerLoadStatus": { - "description": "The database server load status.", - "type": "string" + "type": { + "description": "Resource Type", + "type": "string", + "readOnly": true }, - "csServiceStatus": { - "description": "The CS service status.", + "location": { + "description": "Resource Location", "type": "string" - }, - "ipAddress": { - "description": "The IP address.", + } + }, + "x-ms-azure-resource": true + }, + "RecoveryPlanScriptActionDetails": { + "description": "Recovery plan script action details.", + "required": [ + "path", + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "path": { + "description": "The script path.", "type": "string" }, - "agentVersion": { - "description": "The agent Version.", + "timeout": { + "description": "The script timeout.", "type": "string" }, - "hostName": { - "description": "The host name.", + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "ScriptActionDetails" + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "description": "Recovery plan Automation runbook action details.", + "required": [ + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "runbookId": { + "description": "The runbook ARM Id.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from CS server.", + "timeout": { + "description": "The runbook timeout.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "AutomationRunbookActionDetails" + }, + "RecoveryPlanManualActionDetails": { + "description": "Recovery plan manual action details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "description": { + "description": "The manual action description.", "type": "string" - }, - "sslCertExpiryDate": { - "format": "date-time", - "description": "CS SSL cert expiry date.", + } + }, + "x-ms-discriminator-value": "ManualActionDetails" + }, + "RecoveryPlanHyperVReplicaAzureFailoverInput": { + "description": "Recovery plan HVR Azure failover input.", + "required": [ + "vaultLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "The vault location.", "type": "string" }, - "sslCertExpiryRemainingDays": { - "format": "int32", - "description": "CS SSL cert expiry date.", - "type": "integer" - }, - "psTemplateVersion": { - "description": "PS template version.", + "primaryKekCertificatePfx": { + "description": "The primary KEK certificate PFX.", "type": "string" }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", + "secondaryKekCertificatePfx": { + "description": "The secondary KEK certificate PFX.", "type": "string" }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The agent version details." + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "HyperVReplicaAzureRpRecoveryPointType", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "VMware" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "VMwareV2FabricCreationInput": { - "description": "Fabric provider specific settings.", + "RecoveryPlanHyperVReplicaAzureFailbackInput": { + "description": "Recovery plan HVR Azure failback input.", + "required": [ + "dataSyncOption", + "recoveryVmCreationOption" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificCreationInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "keyVaultUrl": { - "description": "The Key Vault URL.", - "type": "string" + "dataSyncOption": { + "description": "The data sync option.", + "enum": [ + "ForDownTime", + "ForSynchronization" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSyncStatus", + "modelAsString": false + } }, - "keyVaultResourceArmId": { - "description": "The Key Vault ARM Id.", - "type": "string" + "recoveryVmCreationOption": { + "description": "The ALR option.", + "enum": [ + "CreateVmIfNotFound", + "NoAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AlternateLocationRecoveryOption", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "VMwareV2" + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" }, - "VMwareV2FabricSpecificDetails": { - "description": "VMwareV2 fabric Specific Details.", + "RecoveryPlanInMageAzureV2FailoverInput": { + "description": "Recovery plan InMageAzureV2 failover input.", + "required": [ + "vaultLocation", + "recoveryPointType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "srsServiceEndpoint": { - "description": "The endpoint for making requests to the SRS Service.", - "type": "string" - }, - "rcmServiceEndpoint": { - "description": "The endpoint for making requests to the RCM Service.", + "vaultLocation": { + "description": "The vault location.", "type": "string" }, - "keyVaultUrl": { - "description": "The Key Vault URL.", - "type": "string" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageV2RpRecoveryPointType", + "modelAsString": false + } }, - "keyVaultResourceArmId": { - "description": "The Key Vault ARM Id.", + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", "type": "string" } }, - "x-ms-discriminator-value": "VMwareV2" + "x-ms-discriminator-value": "InMageAzureV2" }, - "VMwareVirtualMachineDetails": { - "description": "VMware provider specific settings", + "RecoveryPlanInMageFailoverInput": { + "description": "Recovery plan InMage failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ConfigurationSettings" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "agentGeneratedId": { - "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", - "type": "string" - }, - "agentInstalled": { - "description": "The value indicating if InMage scout agent is installed on guest.", - "type": "string" - }, - "osType": { - "description": "The OsType installed on VM.", - "type": "string" - }, - "agentVersion": { - "description": "The agent version.", - "type": "string" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RpInMageRecoveryPointType", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "RecoveryPlanA2AFailoverInput": { + "description": "Recovery plan A2A failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARpRecoveryPointType", + "modelAsString": false + } }, - "ipAddress": { - "description": "The IP address.", + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", "type": "string" }, - "poweredOn": { - "description": "The value indicating whether VM is powered on.", + "multiVmSyncPointOption": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "enum": [ + "UseMultiVmSyncRecoveryPoint", + "UsePerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncPointOption", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "AzureFabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "location": { + "description": "The Location.", "type": "string" - }, - "vCenterInfrastructureId": { - "description": "The VCenter infrastructure Id.", + } + }, + "x-ms-discriminator-value": "Azure" + }, + "VMwareV2FabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "keyVaultUrl": { + "description": "The Key Vault URL.", "type": "string" }, - "discoveryType": { - "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.", + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", "type": "string" - }, - "diskDetails": { - "description": "The disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageDiskDetails" - } - }, - "validationErrors": { - "description": "The validation errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } } }, - "x-ms-discriminator-value": "VMwareVirtualMachine" + "x-ms-discriminator-value": "VMwareV2" } }, "parameters": { From 27c648b7a1689615aac3679907ecbd8ea82da7c6 Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Tue, 13 Feb 2018 19:57:43 +0530 Subject: [PATCH 5/6] Taking review comments and introducing missing polymorphic fields for NetworkMappingFabricSpecificSettings --- .../stable/2018-01-10/service.json | 65 ++++++++++++++++++- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json index 0178e9e4e267..c48ee7cc8185 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -6832,7 +6832,8 @@ "type": "string", "readOnly": true } - } + }, + "discriminator": "instanceType" }, "CreateNetworkMappingInput": { "description": "Create network mappings input.", @@ -9480,7 +9481,15 @@ }, "multiVmGroupCreateOption": { "description": "Whether Multi VM group is auto created or specified by user.", - "type": "string" + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": false + } } } }, @@ -11577,7 +11586,15 @@ }, "multiVmGroupCreateOption": { "description": "Whether Multi VM group is auto created or specified by user.", - "type": "string" + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": false + } }, "managementId": { "description": "The management Id.", @@ -12373,6 +12390,48 @@ } } }, + "AzureToAzureNetworkMappingSettings": { + "description": "A2A Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": { + "primaryFabricLocation": { + "description": "The primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "VmmToAzureNetworkMappingSettings": { + "description": "E2A Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmNetworkMappingSettings": { + "description": "E2E Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, "AzureToAzureCreateNetworkMappingInput": { "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", "type": "object", From bbebc30a25b4cf45d568ed93c3371478150703df Mon Sep 17 00:00:00 2001 From: Avneesh Rai Date: Sat, 17 Feb 2018 20:20:21 +0530 Subject: [PATCH 6/6] Alphabetically sorting definitions and API paths. --- .../stable/2018-01-10/service.json | 15300 ++++++++-------- 1 file changed, 7650 insertions(+), 7650 deletions(-) diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json index c48ee7cc8185..74b110ed3d45 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -18,14 +18,14 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ - "TargetComputeSizes" + "Operations" ], - "summary": "Gets the list of target compute sizes for the replication protected item.", - "description": "Lists the available target compute sizes for a replication protected item.", - "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", + "summary": "Returns the list of available operations.", + "description": "Operation to return the list of available operations.", + "operationId": "Operations_List", "produces": [ "application/json" ], @@ -33,42 +33,18 @@ { "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TargetComputeSizeCollection" + "$ref": "#/definitions/OperationsDiscoveryCollection" } } }, @@ -76,20 +52,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of target compute sizes for the replication protected item.": { - "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" + "Returns the list of available operations.": { + "$ref": "./examples/Operations_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { "get": { "tags": [ - "ReplicationProtectedItems" + "ReplicationAlertSettings" ], - "summary": "Gets the list of Replication protected items.", - "description": "Gets the list of ASR replication protected items in the protection container.", - "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", + "summary": "Gets the list of configured email notification(alert) configurations.", + "description": "Gets the list of email notification(alert) configurations for the vault.", + "operationId": "ReplicationAlertSettings_List", "produces": [ "application/json" ], @@ -105,27 +81,13 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" + "$ref": "#/definitions/AlertCollection" } } }, @@ -133,20 +95,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of Replication protected items.": { - "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" + "Gets the list of configured email notification(alert) configurations.": { + "$ref": "./examples/ReplicationAlertSettings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { "get": { "tags": [ - "ReplicationProtectedItems" + "ReplicationAlertSettings" ], - "summary": "Gets the list of replication protected items.", - "description": "Gets the list of ASR replication protected items in the vault.", - "operationId": "ReplicationProtectedItems_List", + "summary": "Gets an email notification(alert) configuration.", + "description": "Gets the details of the specified email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Get", "produces": [ "application/json" ], @@ -164,17 +126,10 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "skipToken", - "in": "query", - "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification configuration.", + "required": true, "type": "string" } ], @@ -182,29 +137,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" + "$ref": "#/definitions/Alert" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", "x-ms-examples": { - "Gets the list of replication protected items.": { - "$ref": "./examples/ReplicationProtectedItems_List.json" + "Gets an email notification(alert) configuration.": { + "$ref": "./examples/ReplicationAlertSettings_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { - "get": { + }, + "put": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationAlertSettings" + ], + "summary": "Configures email notifications for this vault.", + "description": "Create or update an email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Create", + "consumes": [ + "application/json" ], - "summary": "Gets the list of protection container mappings for a protection container.", - "description": "Lists the protection container mappings for a protection container.", - "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -222,46 +174,45 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "alertSettingName", "in": "path", - "description": "Fabric name.", + "description": "The name of the email notification(alert) configuration.", "required": true, "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", + "name": "request", + "in": "body", + "description": "The input to configure the email notification(alert).", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ConfigureAlertRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/Alert" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of protection container mappings for a protection container.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" + "Configures email notifications for this vault.": { + "$ref": "./examples/ReplicationAlertSettings_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { "get": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationEvents" ], - "summary": "Gets the list of all protection container mappings in a vault.", - "description": "Lists the protection container mappings in the vault.", - "operationId": "ReplicationProtectionContainerMappings_List", + "summary": "Gets the list of Azure Site Recovery events.", + "description": "Gets the list of Azure Site Recovery events for the vault.", + "operationId": "ReplicationEvents_List", "produces": [ "application/json" ], @@ -277,22 +228,30 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/EventCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, + "x-ms-odata": "#/definitions/EventQueryParameter", "x-ms-examples": { - "Gets the list of all protection container mappings in a vault.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" + "Gets the list of Azure Site Recovery events.": { + "$ref": "./examples/ReplicationEvents_List.json" } } } @@ -344,14 +303,14 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { "get": { "tags": [ - "ReplicationEvents" + "ReplicationFabrics" ], - "summary": "Gets the list of Azure Site Recovery events.", - "description": "Gets the list of Azure Site Recovery events for the vault.", - "operationId": "ReplicationEvents_List", + "summary": "Gets the list of ASR fabrics", + "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", + "operationId": "ReplicationFabrics_List", "produces": [ "application/json" ], @@ -367,41 +326,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventCollection" + "$ref": "#/definitions/FabricCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/EventQueryParameter", "x-ms-examples": { - "Gets the list of Azure Site Recovery events.": { - "$ref": "./examples/ReplicationEvents_List.json" + "Gets the list of ASR fabrics": { + "$ref": "./examples/ReplicationFabrics_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { + "get": { "tags": [ - "ReplicationVaultHealth" + "ReplicationFabrics" ], - "summary": "Refreshes health summary of the vault.", - "operationId": "ReplicationVaultHealth_Refresh", + "summary": "Gets the details of an ASR fabric.", + "description": "Gets the details of an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Get", "produces": [ "application/json" ], @@ -417,35 +369,39 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultHealthDetails" + "$ref": "#/definitions/Fabric" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Refreshes health summary of the vault.": { - "$ref": "./examples/ReplicationVaultHealth_Refresh.json" + "Gets the details of an ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { - "get": { + }, + "put": { "tags": [ - "ReplicationVaultHealth" + "ReplicationFabrics" + ], + "summary": "Creates an Azure Site Recovery fabric.", + "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", + "operationId": "ReplicationFabrics_Create", + "consumes": [ + "application/json" ], - "summary": "Gets the health summary for the vault.", - "description": "Gets the health details of the vault.", - "operationId": "ReplicationVaultHealth_Get", "produces": [ "application/json" ], @@ -461,31 +417,49 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the ASR fabric.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Fabric creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCreationInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VaultHealthDetails" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the health summary for the vault.": { - "$ref": "./examples/ReplicationVaultHealth_Get.json" + "Creates an Azure Site Recovery fabric.": { + "$ref": "./examples/ReplicationFabrics_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { - "get": { + }, + "delete": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationFabrics" ], - "summary": "Gets all the network mappings under a vault.", - "description": "Lists all ASR network mappings in the vault.", - "operationId": "ReplicationNetworkMappings_List", + "summary": "Purges the site.", + "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Purge", "produces": [ "application/json" ], @@ -501,34 +475,39 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to purge.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NetworkMappingCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets all the network mappings under a vault.": { - "$ref": "./examples/ReplicationNetworkMappings_List.json" + "Purges the site.": { + "$ref": "./examples/ReplicationFabrics_Purge.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { + "post": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationFabrics" ], - "summary": "Gets all the network mappings under a network.", - "description": "Lists all ASR network mappings for the specified network.", - "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", + "summary": "Checks the consistency of the ASR fabric.", + "description": "The operation to perform a consistency check on the fabric.", + "operationId": "ReplicationFabrics_CheckConsistency", "produces": [ "application/json" ], @@ -548,14 +527,7 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" } @@ -564,16 +536,17 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMappingCollection" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets all the network mappings under a network.": { - "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" + "Checks the consistency of the ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" } } } @@ -626,14 +599,14 @@ } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { "post": { "tags": [ "ReplicationFabrics" ], - "summary": "Renews certificate for the fabric.", - "description": "Renews the connection certificate for the ASR replication fabric.", - "operationId": "ReplicationFabrics_RenewCertificate", + "summary": "Perform failover of the process server.", + "description": "The operation to move replications from a process server to another process server.", + "operationId": "ReplicationFabrics_ReassociateGateway", "consumes": [ "application/json" ], @@ -656,17 +629,17 @@ { "name": "fabricName", "in": "path", - "description": "fabric name to renew certs for.", + "description": "The name of the fabric containing the process server.", "required": true, "type": "string" }, { - "name": "renewCertificate", + "name": "failoverProcessServerRequest", "in": "body", - "description": "Renew certificate input.", + "description": "The input to the failover process server operation.", "required": true, "schema": { - "$ref": "#/definitions/RenewCertificateInput" + "$ref": "#/definitions/FailoverProcessServerRequest" } } ], @@ -683,20 +656,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Renews certificate for the fabric.": { - "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" + "Perform failover of the process server.": { + "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { + "post": { "tags": [ - "ReplicationvCenters" + "ReplicationFabrics" ], - "summary": "Gets the details of a vCenter.", - "description": "Gets the details of a registered vCenter server(Add vCenter server.)", - "operationId": "ReplicationvCenters_Get", + "summary": "Deletes the site.", + "description": "The operation to delete or remove an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Delete", "produces": [ "application/json" ], @@ -716,39 +689,35 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", - "in": "path", - "description": "vCenter name.", + "description": "ASR fabric to delete", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/VCenter" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a vCenter.": { - "$ref": "./examples/ReplicationvCenters_Get.json" + "Deletes the site.": { + "$ref": "./examples/ReplicationFabrics_Delete.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { + "post": { "tags": [ - "ReplicationvCenters" + "ReplicationFabrics" ], - "summary": "Add vCenter.", - "description": "The operation to create a vCenter object..", - "operationId": "ReplicationvCenters_Create", + "summary": "Renews certificate for the fabric.", + "description": "Renews the connection certificate for the ASR replication fabric.", + "operationId": "ReplicationFabrics_RenewCertificate", "consumes": [ "application/json" ], @@ -771,24 +740,17 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", - "in": "path", - "description": "vCenter name.", + "description": "fabric name to renew certs for.", "required": true, "type": "string" }, { - "name": "addVCenterRequest", + "name": "renewCertificate", "in": "body", - "description": "The input to the add vCenter operation.", + "description": "Renew certificate input.", "required": true, "schema": { - "$ref": "#/definitions/AddVCenterRequest" + "$ref": "#/definitions/RenewCertificateInput" } } ], @@ -796,7 +758,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/Fabric" } }, "202": { @@ -805,18 +767,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Add vCenter.": { - "$ref": "./examples/ReplicationvCenters_Create.json" + "Renews certificate for the fabric.": { + "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { + "get": { "tags": [ - "ReplicationvCenters" + "ReplicationLogicalNetworks" ], - "summary": "Remove vCenter operation.", - "description": "The operation to remove(unregister) a registered vCenter server from the vault.", - "operationId": "ReplicationvCenters_Delete", + "summary": "Gets the list of logical networks under a fabric.", + "description": "Lists all the logical networks of the Azure Site Recovery fabric", + "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -836,43 +800,37 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", - "in": "path", - "description": "vCenter name.", + "description": "Server Id.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicalNetworkCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Remove vCenter operation.": { - "$ref": "./examples/ReplicationvCenters_Delete.json" + "Gets the list of logical networks under a fabric.": { + "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { + "get": { "tags": [ - "ReplicationvCenters" - ], - "summary": "Update vCenter operation.", - "description": "The operation to update a registered vCenter.", - "operationId": "ReplicationvCenters_Update", - "consumes": [ - "application/json" + "ReplicationLogicalNetworks" ], + "summary": "Gets a logical network with specified server id and logical network name.", + "description": "Gets the details of a logical network.", + "operationId": "ReplicationLogicalNetworks_Get", "produces": [ "application/json" ], @@ -892,54 +850,41 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Server Id.", "required": true, "type": "string" }, { - "name": "vCenterName", + "name": "logicalNetworkName", "in": "path", - "description": "vCeneter name", + "description": "Logical network name.", "required": true, "type": "string" - }, - { - "name": "updateVCenterRequest", - "in": "body", - "description": "The input to the update vCenter operation.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateVCenterRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/LogicalNetwork" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Update vCenter operation.": { - "$ref": "./examples/ReplicationvCenters_Update.json" + "Gets a logical network with specified server id and logical network name.": { + "$ref": "./examples/ReplicationLogicalNetworks_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationNetworks" ], - "summary": "Gets the list of vCenter registered under a fabric.", - "description": "Lists the vCenter servers registered in a fabric.", - "operationId": "ReplicationvCenters_ListByReplicationFabrics", + "summary": "Gets the list of networks under a fabric.", + "description": "Lists the networks available for a fabric.", + "operationId": "ReplicationNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -959,7 +904,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Fabric name", "required": true, "type": "string" } @@ -968,7 +913,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/NetworkCollection" } } }, @@ -976,20 +921,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of vCenter registered under a fabric.": { - "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" + "Gets the list of networks under a fabric.": { + "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationNetworks" ], - "summary": "Gets the list of vCenter registered under the vault.", - "description": "Lists the vCenter servers registered in the vault.", - "operationId": "ReplicationvCenters_List", + "summary": "Gets a network with specified server id and network name.", + "description": "Gets the details of a network.", + "operationId": "ReplicationNetworks_Get", "produces": [ "application/json" ], @@ -1005,13 +950,81 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/Network" + } + } + }, + "x-ms-examples": { + "Gets a network with specified server id and network name.": { + "$ref": "./examples/ReplicationNetworks_Get.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a network.", + "description": "Lists all ASR network mappings for the specified network.", + "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" } } }, @@ -1019,20 +1032,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of vCenter registered under the vault.": { - "$ref": "./examples/ReplicationvCenters_List.json" + "Gets all the network mappings under a network.": { + "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { "get": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationNetworkMappings" ], - "summary": "Gets the details of a storage classification mapping.", - "description": "Gets the details of the specified storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Get", + "summary": "Gets network mapping by name.", + "description": "Gets the details of an ASR network mapping", + "operationId": "ReplicationNetworkMappings_Get", "produces": [ "application/json" ], @@ -1052,21 +1065,21 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "networkName", "in": "path", - "description": "Storage classification name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "storageClassificationMappingName", + "name": "networkMappingName", "in": "path", - "description": "Storage classification mapping name.", + "description": "Network mapping name.", "required": true, "type": "string" } @@ -1075,23 +1088,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/NetworkMapping" } } }, "x-ms-examples": { - "Gets the details of a storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" + "Gets network mapping by name.": { + "$ref": "./examples/ReplicationNetworkMappings_Get.json" } } }, "put": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationNetworkMappings" ], - "summary": "Create storage classification mapping.", - "description": "The operation to create a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Create", + "summary": "Creates network mapping.", + "description": "The operation to create an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Create", "consumes": [ "application/json" ], @@ -1114,31 +1127,31 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "networkName", "in": "path", - "description": "Storage classification name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "storageClassificationMappingName", + "name": "networkMappingName", "in": "path", - "description": "Storage classification mapping name.", + "description": "Network mapping name.", "required": true, "type": "string" }, { - "name": "pairingInput", + "name": "input", "in": "body", - "description": "Pairing input.", + "description": "Create network mapping input.", "required": true, "schema": { - "$ref": "#/definitions/StorageClassificationMappingInput" + "$ref": "#/definitions/CreateNetworkMappingInput" } } ], @@ -1146,7 +1159,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/NetworkMapping" } }, "202": { @@ -1155,18 +1168,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" + "Creates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Create.json" } } }, "delete": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationNetworkMappings" ], - "summary": "Delete a storage classification mapping.", - "description": "The operation to delete a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Delete", + "summary": "Delete network mapping.", + "description": "The operation to delete a network mapping.", + "operationId": "ReplicationNetworkMappings_Delete", "produces": [ "application/json" ], @@ -1186,21 +1199,21 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "networkName", "in": "path", - "description": "Storage classification name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "storageClassificationMappingName", + "name": "networkMappingName", "in": "path", - "description": "Storage classification mapping name.", + "description": "ARM Resource Name for network mapping.", "required": true, "type": "string" } @@ -1215,20 +1228,21 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a storage classification mapping.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" + "Delete network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { - "get": { + }, + "patch": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationNetworkMappings" + ], + "summary": "Updates network mapping.", + "description": "The operation to update an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Update", + "consumes": [ + "application/json" ], - "summary": "Gets the list of storage classification mappings objects under a storage.", - "description": "Lists the storage classification mappings for the fabric.", - "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", "produces": [ "application/json" ], @@ -1248,44 +1262,61 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "storageClassificationName", + "name": "networkName", "in": "path", - "description": "Storage classfication name.", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNetworkMappingInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" + "$ref": "#/definitions/NetworkMapping" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a storage.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" + "Updates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { "get": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationProtectionContainers" ], - "summary": "Gets the list of storage classification mappings objects under a vault.", - "description": "Lists the storage classification mappings in the vault.", - "operationId": "ReplicationStorageClassificationMappings_List", + "summary": "Gets the list of protection container for a fabric.", + "description": "Lists the protection containers in the specified fabric.", + "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1301,13 +1332,20 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" + "$ref": "#/definitions/ProtectionContainerCollection" } } }, @@ -1315,20 +1353,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a vault.": { - "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" + "Gets the list of protection container for a fabric.": { + "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { "get": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationProtectionContainers" ], - "summary": "Gets the details of a storage classification.", - "description": "Gets the details of the specified storage classification.", - "operationId": "ReplicationStorageClassifications_Get", + "summary": "Gets the protection container details.", + "description": "Gets the details of a protection container.", + "operationId": "ReplicationProtectionContainers_Get", "produces": [ "application/json" ], @@ -1353,9 +1391,9 @@ "type": "string" }, { - "name": "storageClassificationName", + "name": "protectionContainerName", "in": "path", - "description": "Storage classification name.", + "description": "Protection container name.", "required": true, "type": "string" } @@ -1364,25 +1402,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassification" + "$ref": "#/definitions/ProtectionContainer" } } }, "x-ms-examples": { - "Gets the details of a storage classification.": { - "$ref": "./examples/ReplicationStorageClassifications_Get.json" + "Gets the protection container details.": { + "$ref": "./examples/ReplicationProtectionContainers_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { - "get": { + }, + "put": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationProtectionContainers" + ], + "summary": "Create a protection container.", + "description": "Operation to create a protection container.", + "operationId": "ReplicationProtectionContainers_Create", + "consumes": [ + "application/json" ], - "summary": "Gets the list of storage classification objects under a fabric.", - "description": "Lists the storage classifications available in the specified fabric.", - "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1402,80 +1441,54 @@ { "name": "fabricName", "in": "path", - "description": "Site name of interest.", + "description": "Unique fabric ARM name.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/StorageClassificationCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Gets the list of storage classification objects under a fabric.": { - "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { - "get": { - "tags": [ - "ReplicationStorageClassifications" - ], - "summary": "Gets the list of storage classification objects under a vault.", - "description": "Lists the storage classifications in the vault.", - "operationId": "ReplicationStorageClassifications_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceName" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "creationInput", + "in": "body", + "description": "Creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionContainerInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationCollection" + "$ref": "#/definitions/ProtectionContainer" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification objects under a vault.": { - "$ref": "./examples/ReplicationStorageClassifications_List.json" + "Create a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { "post": { "tags": [ - "ReplicationProtectedItems" + "ReplicationProtectionContainers" ], - "summary": "Change or apply recovery point.", - "description": "The operation to change the recovery point of a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "summary": "Adds a protectable item to the replication protection container.", + "description": "The operation to a add a protectable item to a protection container(Add physical server.)", + "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", "consumes": [ "application/json" ], @@ -1498,31 +1511,24 @@ { "name": "fabricName", "in": "path", - "description": "The ARM fabric name.", + "description": "The name of the fabric.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "The replicated protected item's name.", + "description": "The name of the protection container.", "required": true, "type": "string" }, { - "name": "applyRecoveryPointInput", + "name": "discoverProtectableItemRequest", "in": "body", - "description": "The ApplyRecoveryPointInput.", + "description": "The request object to add a protectable item.", "required": true, "schema": { - "$ref": "#/definitions/ApplyRecoveryPointInput" + "$ref": "#/definitions/DiscoverProtectableItemRequest" } } ], @@ -1530,7 +1536,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectionContainer" } }, "202": { @@ -1539,20 +1545,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Change or apply recovery point.": { - "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" + "Adds a protectable item to the replication protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { "post": { "tags": [ - "ReplicationProtectedItems" + "ReplicationProtectionContainers" ], - "summary": "Resynchronize or repair replication.", - "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", - "operationId": "ReplicationProtectedItems_RepairReplication", + "summary": "Removes a protection container.", + "description": "Operation to remove a protection container.", + "operationId": "ReplicationProtectionContainers_Delete", "produces": [ "application/json" ], @@ -1572,55 +1578,42 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric.", + "description": "Unique fabric ARM name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The name of the container.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "The name of the replication protected item.", + "description": "Unique protection container ARM name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Resynchronize or repair replication.": { - "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" + "Removes a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Update the mobility service on a protected item.", - "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", - "operationId": "ReplicationProtectedItems_UpdateMobilityService", - "consumes": [ - "application/json" + "ReplicationProtectableItems" ], + "summary": "Gets the list of protectable items.", + "description": "Lists the protectable items in a protection container.", + "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -1640,64 +1633,44 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric containing the protected item.", + "description": "Fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The name of the container containing the protected item.", - "required": true, - "type": "string" - }, - { - "name": "replicationProtectedItemName", - "in": "path", - "description": "The name of the protected item on which the agent is to be updated.", + "description": "Protection container name.", "required": true, "type": "string" - }, - { - "name": "updateMobilityServiceRequest", - "in": "body", - "description": "Request to update the mobility service on the protected item.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateMobilityServiceRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectableItemCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Update the mobility service on a protected item.": { - "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" + "Gets the list of protectable items.": { + "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute Reverse Replication\\Reprotect", - "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_Reprotect", - "consumes": [ - "application/json" + "ReplicationProtectableItems" ], + "summary": "Gets the details of a protectable item.", + "description": "The operation to get the details of a protectable item.", + "operationId": "ReplicationProtectableItems_Get", "produces": [ "application/json" ], @@ -1717,7 +1690,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -1729,49 +1702,36 @@ "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "protectableItemName", "in": "path", - "description": "Replication protected item name.", + "description": "Protectable item name.", "required": true, "type": "string" - }, - { - "name": "rrInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/ReverseReplicationInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectableItem" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute Reverse Replication\\Reprotect": { - "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" + "Gets the details of a protectable item.": { + "$ref": "./examples/ReplicationProtectableItems_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "get": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute commit failover", - "description": "Operation to commit the failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_FailoverCommit", + "summary": "Gets the list of Replication protected items.", + "description": "Gets the list of ASR replication protected items in the protection container.", + "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -1791,7 +1751,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -1801,45 +1761,34 @@ "description": "Protection container name.", "required": true, "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ReplicationProtectedItemCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute commit failover": { - "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" + "Gets the list of Replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { + "get": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute test failover cleanup.", - "description": "Operation to clean up the test failover of a replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailoverCleanup", - "consumes": [ - "application/json" - ], + "summary": "Gets the details of a Replication protected item.", + "description": "Gets the details of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Get", "produces": [ "application/json" ], @@ -1859,7 +1808,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric unique name.", "required": true, "type": "string" }, @@ -1876,15 +1825,6 @@ "description": "Replication protected item name.", "required": true, "type": "string" - }, - { - "name": "cleanupInput", - "in": "body", - "description": "Test failover cleanup input.", - "required": true, - "schema": { - "$ref": "#/definitions/TestFailoverCleanupInput" - } } ], "responses": { @@ -1893,27 +1833,21 @@ "schema": { "$ref": "#/definitions/ReplicationProtectedItem" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover cleanup.": { - "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" + "Gets the details of a Replication protected item.": { + "$ref": "./examples/ReplicationProtectedItems_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { - "post": { + }, + "put": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute test failover", - "description": "Operation to perform a test failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailover", + "summary": "Enables protection.", + "description": "The operation to create an ASR replication protected item (Enable replication).", + "operationId": "ReplicationProtectedItems_Create", "consumes": [ "application/json" ], @@ -1936,7 +1870,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Name of the fabric.", "required": true, "type": "string" }, @@ -1950,17 +1884,17 @@ { "name": "replicatedProtectedItemName", "in": "path", - "description": "Replication protected item name.", + "description": "A name for the replication protected item.", "required": true, "type": "string" }, { - "name": "failoverInput", + "name": "input", "in": "body", - "description": "Test failover input.", + "description": "Enable Protection Input.", "required": true, "schema": { - "$ref": "#/definitions/TestFailoverInput" + "$ref": "#/definitions/EnableProtectionInput" } } ], @@ -1977,23 +1911,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover": { - "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" + "Enables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { - "post": { + }, + "delete": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute unplanned failover", - "description": "Operation to initiate a failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_UnplannedFailover", - "consumes": [ - "application/json" - ], + "summary": "Purges protection.", + "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", + "operationId": "ReplicationProtectedItems_Purge", "produces": [ "application/json" ], @@ -2013,7 +1942,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -2030,44 +1959,30 @@ "description": "Replication protected item name.", "required": true, "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/UnplannedFailoverInput" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute unplanned failover": { - "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" + "Purges protection.": { + "$ref": "./examples/ReplicationProtectedItems_Purge.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { - "post": { + }, + "patch": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Execute planned failover", - "description": "Operation to initiate a planned failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_PlannedFailover", + "summary": "Updates protection.", + "description": "The operation to update the recovery settings of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Update", "consumes": [ "application/json" ], @@ -2090,7 +2005,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -2109,12 +2024,12 @@ "type": "string" }, { - "name": "failoverInput", + "name": "updateProtectionInput", "in": "body", - "description": "Disable protection input.", + "description": "Update protection input.", "required": true, "schema": { - "$ref": "#/definitions/PlannedFailoverInput" + "$ref": "#/definitions/UpdateReplicationProtectedItemInput" } } ], @@ -2131,20 +2046,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover": { - "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" + "Updates protection.": { + "$ref": "./examples/ReplicationProtectedItems_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Disables protection.", - "description": "The operation to disable replication on a replication protected item. This will also remove the item.", - "operationId": "ReplicationProtectedItems_Delete", + "summary": "Change or apply recovery point.", + "description": "The operation to change the recovery point of a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", "consumes": [ "application/json" ], @@ -2167,58 +2082,61 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The ARM fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "Replication protected item name.", + "description": "The replicated protected item's name.", "required": true, "type": "string" }, { - "name": "disableProtectionInput", + "name": "applyRecoveryPointInput", "in": "body", - "description": "Disable protection input.", + "description": "The ApplyRecoveryPointInput.", "required": true, "schema": { - "$ref": "#/definitions/DisableProtectionInput" + "$ref": "#/definitions/ApplyRecoveryPointInput" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Disables protection.": { - "$ref": "./examples/ReplicationProtectedItems_Delete.json" + "Change or apply recovery point.": { + "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Gets the details of a Replication protected item.", - "description": "Gets the details of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Get", + "summary": "Execute commit failover", + "description": "Operation to commit the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCommit", "produces": [ "application/json" ], @@ -2238,7 +2156,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric unique name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -2263,21 +2181,27 @@ "schema": { "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a Replication protected item.": { - "$ref": "./examples/ReplicationProtectedItems_Get.json" + "Execute commit failover": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { + "post": { "tags": [ "ReplicationProtectedItems" ], - "summary": "Enables protection.", - "description": "The operation to create an ASR replication protected item (Enable replication).", - "operationId": "ReplicationProtectedItems_Create", + "summary": "Execute planned failover", + "description": "Operation to initiate a planned failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_PlannedFailover", "consumes": [ "application/json" ], @@ -2300,7 +2224,7 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -2314,17 +2238,17 @@ { "name": "replicatedProtectedItemName", "in": "path", - "description": "A name for the replication protected item.", + "description": "Replication protected item name.", "required": true, "type": "string" }, { - "name": "input", + "name": "failoverInput", "in": "body", - "description": "Enable Protection Input.", + "description": "Disable protection input.", "required": true, "schema": { - "$ref": "#/definitions/EnableProtectionInput" + "$ref": "#/definitions/PlannedFailoverInput" } } ], @@ -2341,18 +2265,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Enables protection.": { - "$ref": "./examples/ReplicationProtectedItems_Create.json" + "Execute planned failover": { + "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { + "get": { "tags": [ - "ReplicationProtectedItems" + "RecoveryPoints" ], - "summary": "Purges protection.", - "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", - "operationId": "ReplicationProtectedItems_Purge", + "summary": "Get recovery points for a replication protected item.", + "description": "Lists the available recovery points for a replication protected item.", + "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -2372,50 +2298,51 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "Replication protected item name.", + "description": "The replication protected item's name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Purges protection.": { - "$ref": "./examples/ReplicationProtectedItems_Purge.json" + "Get recovery points for a replication protected item.": { + "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Updates protection.", - "description": "The operation to update the recovery settings of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Update", - "consumes": [ - "application/json" + "RecoveryPoints" ], + "summary": "Get a recovery point.", + "description": "Get the details of specified recovery point.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -2435,61 +2362,58 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "Replication protected item name.", + "description": "The replication protected item's name.", "required": true, "type": "string" }, { - "name": "updateProtectionInput", - "in": "body", - "description": "Update protection input.", + "name": "recoveryPointName", + "in": "path", + "description": "The recovery point name.", "required": true, - "schema": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInput" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/RecoveryPoint" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates protection.": { - "$ref": "./examples/ReplicationProtectedItems_Update.json" + "Get a recovery point.": { + "$ref": "./examples/RecoveryPoints_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationProtectedItems" + ], + "summary": "Disables protection.", + "description": "The operation to disable replication on a replication protected item. This will also remove the item.", + "operationId": "ReplicationProtectedItems_Delete", + "consumes": [ + "application/json" ], - "summary": "Refresh details from the recovery services provider.", - "description": "The operation to refresh the information from the recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", "produces": [ "application/json" ], @@ -2514,40 +2438,53 @@ "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "disableProtectionInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/DisableProtectionInput" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Refresh details from the recovery services provider.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" + "Disables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationProtectedItems" ], - "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", - "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", - "operationId": "ReplicationRecoveryServicesProviders_Delete", + "summary": "Resynchronize or repair replication.", + "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", + "operationId": "ReplicationProtectedItems_RepairReplication", "produces": [ "application/json" ], @@ -2567,42 +2504,55 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The name of the fabric.", "required": true, "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "The name of the container.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The name of the replication protected item.", "required": true, "type": "string" } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" + "Resynchronize or repair replication.": { + "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { + "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationProtectedItems" + ], + "summary": "Execute Reverse Replication\\Reprotect", + "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_Reprotect", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a recovery services provider.", - "description": "Gets the details of registered recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_Get", "produces": [ "application/json" ], @@ -2622,39 +2572,61 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name", + "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "rrInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/ReverseReplicationInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a recovery services provider.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" + "Execute Reverse Replication\\Reprotect": { + "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "get": { "tags": [ - "ReplicationRecoveryServicesProviders" + "TargetComputeSizes" ], - "summary": "Purges recovery service provider from fabric", - "description": "The operation to purge(force delete) a recovery services provider from the vault.", - "operationId": "ReplicationRecoveryServicesProviders_Purge", + "summary": "Gets the list of target compute sizes for the replication protected item.", + "description": "Lists the available target compute sizes for a replication protected item.", + "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -2679,37 +2651,49 @@ "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TargetComputeSizeCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Purges recovery service provider from fabric": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" + "Gets the list of target compute sizes for the replication protected item.": { + "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { + "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationProtectedItems" + ], + "summary": "Execute test failover", + "description": "Operation to perform a test failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailover", + "consumes": [ + "application/json" ], - "summary": "Gets the list of registered recovery services providers for the fabric.", - "description": "Lists the registered recovery services providers for the specified fabric.", - "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -2729,80 +2713,64 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name", + "description": "Unique fabric name.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Gets the list of registered recovery services providers for the fabric.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { - "get": { - "tags": [ - "ReplicationRecoveryServicesProviders" - ], - "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", - "description": "Lists the registered recovery services providers in the vault", - "operationId": "ReplicationRecoveryServicesProviders_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/ResourceName" + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "failoverInput", + "in": "body", + "description": "Test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of registered recovery services providers in the vault. This is a view only api.": { - "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" + "Execute test failover": { + "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { + "post": { "tags": [ - "RecoveryPoints" + "ReplicationProtectedItems" + ], + "summary": "Execute test failover cleanup.", + "description": "Operation to clean up the test failover of a replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailoverCleanup", + "consumes": [ + "application/json" ], - "summary": "Get a recovery point.", - "description": "Get the details of specified recovery point.", - "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -2822,55 +2790,64 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "The replication protected item's name.", + "description": "Replication protected item name.", "required": true, "type": "string" }, { - "name": "recoveryPointName", - "in": "path", - "description": "The recovery point name.", + "name": "cleanupInput", + "in": "body", + "description": "Test failover cleanup input.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/TestFailoverCleanupInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get a recovery point.": { - "$ref": "./examples/RecoveryPoints_Get.json" + "Execute test failover cleanup.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { + "post": { "tags": [ - "RecoveryPoints" + "ReplicationProtectedItems" + ], + "summary": "Execute unplanned failover", + "description": "Operation to initiate a failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_UnplannedFailover", + "consumes": [ + "application/json" ], - "summary": "Get recovery points for a replication protected item.", - "description": "Lists the available recovery points for a replication protected item.", - "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -2890,51 +2867,64 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { "name": "replicatedProtectedItemName", "in": "path", - "description": "The replication protected item's name.", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UnplannedFailoverInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get recovery points for a replication protected item.": { - "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" + "Execute unplanned failover": { + "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" + ], + "summary": "Update the mobility service on a protected item.", + "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", + "operationId": "ReplicationProtectedItems_UpdateMobilityService", + "consumes": [ + "application/json" ], - "summary": "Execute reprotect of the recovery plan.", - "description": "The operation to reprotect(reverse replicate) a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Reprotect", "produces": [ "application/json" ], @@ -2952,18 +2942,41 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "The name of the fabric containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "replicationProtectedItemName", + "in": "path", + "description": "The name of the protected item on which the agent is to be updated.", "required": true, "type": "string" + }, + { + "name": "updateMobilityServiceRequest", + "in": "body", + "description": "Request to update the mobility service on the protected item.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMobilityServiceRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } }, "202": { @@ -2972,20 +2985,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute reprotect of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" + "Update the mobility service on a protected item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { + "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectionContainerMappings" ], - "summary": "Execute commit failover of the recovery plan.", - "description": "The operation to commit the fail over of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "summary": "Gets the list of protection container mappings for a protection container.", + "description": "Lists the protection container mappings for a protection container.", + "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -3003,9 +3016,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, "type": "string" } @@ -3014,32 +3034,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectionContainerMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute commit failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" + "Gets the list of protection container mappings for a protection container.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { + "get": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute test failover cleanup of the recovery plan.", - "description": "The operation to cleanup test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", - "consumes": [ - "application/json" + "ReplicationProtectionContainerMappings" ], + "summary": "Gets a protection container mapping/", + "description": "Gets the details of a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Get", "produces": [ "application/json" ], @@ -3057,49 +3073,48 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Test failover cleanup input.", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection Container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectionContainerMapping" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover cleanup of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + "Gets a protection container mapping/": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { - "post": { + }, + "put": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectionContainerMappings" ], - "summary": "Execute test failover of the recovery plan.", - "description": "The operation to start the test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailover", + "summary": "Create protection container mapping.", + "description": "The operation to create a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Create", "consumes": [ "application/json" ], @@ -3120,19 +3135,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", "in": "body", - "description": "Failover input.", + "description": "Mapping creation input.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInput" + "$ref": "#/definitions/CreateProtectionContainerMappingInput" } } ], @@ -3140,7 +3169,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectionContainerMapping" } }, "202": { @@ -3149,20 +3178,80 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" + "Create protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Purge protection container mapping.", + "description": "The operation to purge(force delete) a protection container mapping", + "operationId": "ReplicationProtectionContainerMappings_Purge", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purge protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectionContainerMappings" ], - "summary": "Execute unplanned failover of the recovery plan.", - "description": "The operation to start the failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "summary": "Remove protection container mapping.", + "description": "The operation to delete or remove a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Delete", "consumes": [ "application/json" ], @@ -3183,49 +3272,60 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "removalInput", "in": "body", - "description": "Failover input.", + "description": "Removal input.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + "$ref": "#/definitions/RemoveProtectionContainerMappingInput" } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPlan" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute unplanned failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" + "Remove protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectionContainers" ], - "summary": "Execute planned failover of the recovery plan.", - "description": "The operation to start the planned failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "summary": "Switches protection from one container to another or one replication provider to another.", + "description": "Operation to switch protection from one container to another or one replication provider to another.", + "operationId": "ReplicationProtectionContainers_SwitchProtection", "consumes": [ "application/json" ], @@ -3246,19 +3346,26 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "switchInput", "in": "body", - "description": "Failover input.", + "description": "Switch protection input.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + "$ref": "#/definitions/SwitchProtectionInput" } } ], @@ -3266,7 +3373,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectionContainer" } }, "202": { @@ -3275,20 +3382,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover of the recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" + "Switches protection from one container to another or one replication provider to another.": { + "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets the requested recovery plan.", - "description": "Gets the details of the recovery plan.", - "operationId": "ReplicationRecoveryPlans_Get", + "summary": "Gets the list of registered recovery services providers for the fabric.", + "description": "Lists the registered recovery services providers for the specified fabric.", + "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -3306,9 +3413,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Name of the recovery plan.", + "description": "Fabric name", "required": true, "type": "string" } @@ -3317,26 +3424,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/RecoveryServicesProviderCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets the requested recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Get.json" + "Gets the list of registered recovery services providers for the fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { + "get": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Creates a recovery plan with the given details.", - "description": "The operation to create a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Create", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Gets the details of a recovery services provider.", + "description": "Gets the details of registered recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Get", "produces": [ "application/json" ], @@ -3354,47 +3463,41 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Recovery Plan creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/CreateRecoveryPlanInput" - } + "name": "providerName", + "in": "path", + "description": "Recovery services provider name", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/RecoveryServicesProvider" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates a recovery plan with the given details.": { - "$ref": "./examples/ReplicationRecoveryPlans_Create.json" + "Gets the details of a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" } } }, "delete": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationRecoveryServicesProviders" ], - "summary": "Deletes the specified recovery plan.", - "description": "Delete a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Delete", + "summary": "Purges recovery service provider from fabric", + "description": "The operation to purge(force delete) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Purge", "produces": [ "application/json" ], @@ -3412,9 +3515,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", "required": true, "type": "string" } @@ -3429,21 +3539,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes the specified recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" + "Purges recovery service provider from fabric": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { + "post": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Updates the given recovery plan.", - "description": "The operation to update a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Update", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Refresh details from the recovery services provider.", + "description": "The operation to refresh the information from the recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", "produces": [ "application/json" ], @@ -3461,27 +3570,25 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Update recovery plan input", + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", "required": true, - "schema": { - "$ref": "#/definitions/UpdateRecoveryPlanInput" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/RecoveryServicesProvider" } }, "202": { @@ -3490,20 +3597,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the given recovery plan.": { - "$ref": "./examples/ReplicationRecoveryPlans_Update.json" + "Refresh details from the recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets the list of recovery plans.", - "description": "Lists the recovery plans in the vault.", - "operationId": "ReplicationRecoveryPlans_List", + "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", + "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", + "operationId": "ReplicationRecoveryServicesProviders_Delete", "produces": [ "application/json" ], @@ -3519,37 +3626,46 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPlanCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of recovery plans.": { - "$ref": "./examples/ReplicationRecoveryPlans_List.json" + "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "get": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Switches protection from one container to another or one replication provider to another.", - "description": "Operation to switch protection from one container to another or one replication provider to another.", - "operationId": "ReplicationProtectionContainers_SwitchProtection", - "consumes": [ - "application/json" + "ReplicationStorageClassifications" ], + "summary": "Gets the list of storage classification objects under a fabric.", + "description": "Lists the storage classifications available in the specified fabric.", + "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -3569,54 +3685,37 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", + "description": "Site name of interest.", "required": true, "type": "string" - }, - { - "name": "switchInput", - "in": "body", - "description": "Switch protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/SwitchProtectionInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Switches protection from one container to another or one replication provider to another.": { - "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" + "Gets the list of storage classification objects under a fabric.": { + "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { + "get": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassifications" ], - "summary": "Removes a protection container.", - "description": "Operation to remove a protection container.", - "operationId": "ReplicationProtectionContainers_Delete", + "summary": "Gets the details of a storage classification.", + "description": "Gets the details of the specified storage classification.", + "operationId": "ReplicationStorageClassifications_Get", "produces": [ "application/json" ], @@ -3636,45 +3735,41 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "storageClassificationName", "in": "path", - "description": "Unique protection container ARM name.", + "description": "Storage classification name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassification" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Removes a protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_Delete.json" + "Gets the details of a storage classification.": { + "$ref": "./examples/ReplicationStorageClassifications_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { + "get": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Adds a protectable item to the replication protection container.", - "description": "The operation to a add a protectable item to a protection container(Add physical server.)", - "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", - "consumes": [ - "application/json" + "ReplicationStorageClassificationMappings" ], + "summary": "Gets the list of storage classification mappings objects under a storage.", + "description": "Lists the storage classification mappings for the fabric.", + "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", "produces": [ "application/json" ], @@ -3694,54 +3789,44 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "storageClassificationName", "in": "path", - "description": "The name of the protection container.", + "description": "Storage classfication name.", "required": true, "type": "string" - }, - { - "name": "discoverProtectableItemRequest", - "in": "body", - "description": "The request object to add a protectable item.", - "required": true, - "schema": { - "$ref": "#/definitions/DiscoverProtectableItemRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Adds a protectable item to the replication protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" + "Gets the list of storage classification mappings objects under a storage.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { "get": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassificationMappings" ], - "summary": "Gets the protection container details.", - "description": "Gets the details of a protection container.", - "operationId": "ReplicationProtectionContainers_Get", + "summary": "Gets the details of a storage classification mapping.", + "description": "Gets the details of the specified storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Get", "produces": [ "application/json" ], @@ -3766,9 +3851,16 @@ "type": "string" }, { - "name": "protectionContainerName", + "name": "storageClassificationName", "in": "path", - "description": "Protection container name.", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", "required": true, "type": "string" } @@ -3777,23 +3869,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationMapping" } } }, "x-ms-examples": { - "Gets the protection container details.": { - "$ref": "./examples/ReplicationProtectionContainers_Get.json" + "Gets the details of a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" } } }, "put": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassificationMappings" ], - "summary": "Create a protection container.", - "description": "Operation to create a protection container.", - "operationId": "ReplicationProtectionContainers_Create", + "summary": "Create storage classification mapping.", + "description": "The operation to create a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Create", "consumes": [ "application/json" ], @@ -3816,24 +3908,31 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "storageClassificationName", "in": "path", - "description": "Unique protection container ARM name.", + "description": "Storage classification name.", "required": true, "type": "string" }, { - "name": "creationInput", + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + }, + { + "name": "pairingInput", "in": "body", - "description": "Creation input.", + "description": "Pairing input.", "required": true, "schema": { - "$ref": "#/definitions/CreateProtectionContainerInput" + "$ref": "#/definitions/StorageClassificationMappingInput" } } ], @@ -3841,7 +3940,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/StorageClassificationMapping" } }, "202": { @@ -3850,20 +3949,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create a protection container.": { - "$ref": "./examples/ReplicationProtectionContainers_Create.json" + "Create storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { - "get": { + }, + "delete": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationStorageClassificationMappings" ], - "summary": "Gets the list of protection container for a fabric.", - "description": "Lists the protection containers in the specified fabric.", - "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", + "summary": "Delete a storage classification mapping.", + "description": "The operation to delete a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Delete", "produces": [ "application/json" ], @@ -3886,34 +3983,46 @@ "description": "Fabric name.", "required": true, "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of protection container for a fabric.": { - "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" + "Delete a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { "get": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationvCenters" ], - "summary": "Gets the list of all protection containers in a vault.", - "description": "Lists the protection containers in a vault.", - "operationId": "ReplicationProtectionContainers_List", + "summary": "Gets the list of vCenter registered under a fabric.", + "description": "Lists the vCenter servers registered in a fabric.", + "operationId": "ReplicationvCenters_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -3929,13 +4038,20 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" + "$ref": "#/definitions/VCenterCollection" } } }, @@ -3943,20 +4059,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of all protection containers in a vault.": { - "$ref": "./examples/ReplicationProtectionContainers_List.json" + "Gets the list of vCenter registered under a fabric.": { + "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { "get": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationvCenters" ], - "summary": "Gets a protection container mapping/", - "description": "Gets the details of a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Get", + "summary": "Gets the details of a vCenter.", + "description": "Gets the details of a registered vCenter server(Add vCenter server.)", + "operationId": "ReplicationvCenters_Get", "produces": [ "application/json" ], @@ -3981,16 +4097,9 @@ "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "vCenterName", "in": "path", - "description": "Protection Container mapping name.", + "description": "vCenter name.", "required": true, "type": "string" } @@ -3999,23 +4108,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/VCenter" } } }, "x-ms-examples": { - "Gets a protection container mapping/": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" + "Gets the details of a vCenter.": { + "$ref": "./examples/ReplicationvCenters_Get.json" } } }, "put": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationvCenters" ], - "summary": "Create protection container mapping.", - "description": "The operation to create a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Create", + "summary": "Add vCenter.", + "description": "The operation to create a vCenter object..", + "operationId": "ReplicationvCenters_Create", "consumes": [ "application/json" ], @@ -4043,26 +4152,19 @@ "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "vCenterName", "in": "path", - "description": "Protection container mapping name.", + "description": "vCenter name.", "required": true, "type": "string" }, { - "name": "creationInput", + "name": "addVCenterRequest", "in": "body", - "description": "Mapping creation input.", + "description": "The input to the add vCenter operation.", "required": true, "schema": { - "$ref": "#/definitions/CreateProtectionContainerMappingInput" + "$ref": "#/definitions/AddVCenterRequest" } } ], @@ -4070,7 +4172,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/VCenter" } }, "202": { @@ -4079,18 +4181,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" + "Add vCenter.": { + "$ref": "./examples/ReplicationvCenters_Create.json" } } }, "delete": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationvCenters" ], - "summary": "Purge protection container mapping.", - "description": "The operation to purge(force delete) a protection container mapping", - "operationId": "ReplicationProtectionContainerMappings_Purge", + "summary": "Remove vCenter operation.", + "description": "The operation to remove(unregister) a registered vCenter server from the vault.", + "operationId": "ReplicationvCenters_Delete", "produces": [ "application/json" ], @@ -4115,16 +4217,9 @@ "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "vCenterName", "in": "path", - "description": "Protection container mapping name.", + "description": "vCenter name.", "required": true, "type": "string" } @@ -4139,20 +4234,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Purge protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" + "Remove vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { - "post": { + }, + "patch": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationvCenters" ], - "summary": "Remove protection container mapping.", - "description": "The operation to delete or remove a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Delete", + "summary": "Update vCenter operation.", + "description": "The operation to update a registered vCenter.", + "operationId": "ReplicationvCenters_Update", "consumes": [ "application/json" ], @@ -4180,53 +4273,49 @@ "type": "string" }, { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "mappingName", + "name": "vCenterName", "in": "path", - "description": "Protection container mapping name.", + "description": "vCeneter name", "required": true, "type": "string" }, { - "name": "removalInput", + "name": "updateVCenterRequest", "in": "body", - "description": "Removal input.", + "description": "The input to the update vCenter operation.", "required": true, "schema": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + "$ref": "#/definitions/UpdateVCenterRequest" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Remove protection container mapping.": { - "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" + "Update vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { "get": { "tags": [ - "ReplicationProtectableItems" + "ReplicationJobs" ], - "summary": "Gets the details of a protectable item.", - "description": "The operation to get the details of a protectable item.", - "operationId": "ReplicationProtectableItems_Get", + "summary": "Gets the list of jobs.", + "description": "Gets the list of Azure Site Recovery Jobs for the vault.", + "operationId": "ReplicationJobs_List", "produces": [ "application/json" ], @@ -4244,24 +4333,10 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "protectableItemName", - "in": "path", - "description": "Protectable item name.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -4269,25 +4344,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItem" + "$ref": "#/definitions/JobCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/JobQueryParameter", "x-ms-examples": { - "Gets the details of a protectable item.": { - "$ref": "./examples/ReplicationProtectableItems_Get.json" + "Gets the list of jobs.": { + "$ref": "./examples/ReplicationJobs_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { "get": { "tags": [ - "ReplicationProtectableItems" + "ReplicationJobs" ], - "summary": "Gets the list of protectable items.", - "description": "Lists the protectable items in a protection container.", - "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", + "summary": "Gets the job details.", + "description": "Get the details of an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Get", "produces": [ "application/json" ], @@ -4305,16 +4384,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", + "name": "jobName", "in": "path", - "description": "Protection container name.", + "description": "Job identifier", "required": true, "type": "string" } @@ -4323,28 +4395,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItemCollection" + "$ref": "#/definitions/Job" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of protectable items.": { - "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" + "Gets the job details.": { + "$ref": "./examples/ReplicationJobs_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { + "post": { "tags": [ - "ReplicationPolicies" + "ReplicationJobs" ], - "summary": "Gets the requested policy.", - "description": "Gets the details of a replication policy.", - "operationId": "ReplicationPolicies_Get", + "summary": "Cancels the specified job.", + "description": "The operation to cancel an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Cancel", "produces": [ "application/json" ], @@ -4362,9 +4431,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "jobName", "in": "path", - "description": "Replication policy name.", + "description": "Job indentifier.", "required": true, "type": "string" } @@ -4373,26 +4442,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/Job" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the requested policy.": { - "$ref": "./examples/ReplicationPolicies_Get.json" + "Cancels the specified job.": { + "$ref": "./examples/ReplicationJobs_Cancel.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { + "post": { "tags": [ - "ReplicationPolicies" - ], - "summary": "Creates the policy.", - "description": "The operation to create a replication policy", - "operationId": "ReplicationPolicies_Create", - "consumes": [ - "application/json" + "ReplicationJobs" ], + "summary": "Restarts the specified job.", + "description": "The operation to restart an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Restart", "produces": [ "application/json" ], @@ -4410,27 +4482,18 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "jobName", "in": "path", - "description": "Replication policy name", + "description": "Job identifier.", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Create policy input", - "required": true, - "schema": { - "$ref": "#/definitions/CreatePolicyInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/Job" } }, "202": { @@ -4439,18 +4502,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates the policy.": { - "$ref": "./examples/ReplicationPolicies_Create.json" + "Restarts the specified job.": { + "$ref": "./examples/ReplicationJobs_Restart.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { + "post": { "tags": [ - "ReplicationPolicies" + "ReplicationJobs" + ], + "summary": "Resumes the specified job.", + "description": "The operation to resume an Azure Site Recovery job", + "operationId": "ReplicationJobs_Resume", + "consumes": [ + "application/json" ], - "summary": "Delete the policy.", - "description": "The operation to delete a replication policy.", - "operationId": "ReplicationPolicies_Delete", "produces": [ "application/json" ], @@ -4468,35 +4536,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "jobName", "in": "path", - "description": "Replication policy name.", + "description": "Job identifier.", "required": true, "type": "string" + }, + { + "name": "resumeJobParams", + "in": "body", + "description": "Resume rob comments.", + "required": true, + "schema": { + "$ref": "#/definitions/ResumeJobParams" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete the policy.": { - "$ref": "./examples/ReplicationPolicies_Delete.json" + "Resumes the specified job.": { + "$ref": "./examples/ReplicationJobs_Resume.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { + "post": { "tags": [ - "ReplicationPolicies" + "ReplicationJobs" ], - "summary": "Updates the policy.", - "description": "The operation to update a replication policy.", - "operationId": "ReplicationPolicies_Update", + "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", + "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", + "operationId": "ReplicationJobs_Export", "consumes": [ "application/json" ], @@ -4517,19 +4599,12 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", - "in": "path", - "description": "Policy Id.", - "required": true, - "type": "string" - }, - { - "name": "input", + "name": "jobQueryParameter", "in": "body", - "description": "Update Policy Input", + "description": "job query filter.", "required": true, "schema": { - "$ref": "#/definitions/UpdatePolicyInput" + "$ref": "#/definitions/JobQueryParameter" } } ], @@ -4537,7 +4612,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/Job" } }, "202": { @@ -4546,20 +4621,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the policy.": { - "$ref": "./examples/ReplicationPolicies_Update.json" + "Exports the details of the Azure Site Recovery jobs of the vault.": { + "$ref": "./examples/ReplicationJobs_Export.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { "get": { "tags": [ - "ReplicationPolicies" + "ReplicationNetworkMappings" ], - "summary": "Gets the list of replication policies", - "description": "Lists the replication policies for a vault.", - "operationId": "ReplicationPolicies_List", + "summary": "Gets all the network mappings under a vault.", + "description": "Lists all ASR network mappings in the vault.", + "operationId": "ReplicationNetworkMappings_List", "produces": [ "application/json" ], @@ -4581,7 +4656,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PolicyCollection" + "$ref": "#/definitions/NetworkMappingCollection" } } }, @@ -4589,20 +4664,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of replication policies": { - "$ref": "./examples/ReplicationPolicies_List.json" + "Gets all the network mappings under a vault.": { + "$ref": "./examples/ReplicationNetworkMappings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { "get": { "tags": [ - "Operations" + "ReplicationNetworks" ], - "summary": "Returns the list of available operations.", - "description": "Operation to return the list of available operations.", - "operationId": "Operations_List", + "summary": "Gets the list of networks. View-only API.", + "description": "Lists the networks available in a vault", + "operationId": "ReplicationNetworks_List", "produces": [ "application/json" ], @@ -4610,6 +4685,9 @@ { "$ref": "#/parameters/ApiVersion" }, + { + "$ref": "#/parameters/ResourceName" + }, { "$ref": "#/parameters/ResourceGroupName" }, @@ -4621,7 +4699,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationsDiscoveryCollection" + "$ref": "#/definitions/NetworkCollection" } } }, @@ -4629,20 +4707,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Returns the list of available operations.": { - "$ref": "./examples/Operations_List.json" + "Gets the list of networks. View-only API.": { + "$ref": "./examples/ReplicationNetworks_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { "get": { "tags": [ - "ReplicationNetworks" + "ReplicationPolicies" ], - "summary": "Gets the list of networks. View-only API.", - "description": "Lists the networks available in a vault", - "operationId": "ReplicationNetworks_List", + "summary": "Gets the list of replication policies", + "description": "Lists the replication policies for a vault.", + "operationId": "ReplicationPolicies_List", "produces": [ "application/json" ], @@ -4664,7 +4742,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkCollection" + "$ref": "#/definitions/PolicyCollection" } } }, @@ -4672,20 +4750,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of networks. View-only API.": { - "$ref": "./examples/ReplicationNetworks_List.json" + "Gets the list of replication policies": { + "$ref": "./examples/ReplicationPolicies_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { "get": { "tags": [ - "ReplicationNetworks" + "ReplicationPolicies" ], - "summary": "Gets the list of networks under a fabric.", - "description": "Lists the networks available for a fabric.", - "operationId": "ReplicationNetworks_ListByReplicationFabrics", + "summary": "Gets the requested policy.", + "description": "Gets the details of a replication policy.", + "operationId": "ReplicationPolicies_Get", "produces": [ "application/json" ], @@ -4703,9 +4781,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "policyName", "in": "path", - "description": "Fabric name", + "description": "Replication policy name.", "required": true, "type": "string" } @@ -4714,28 +4792,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkCollection" + "$ref": "#/definitions/Policy" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of networks under a fabric.": { - "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" + "Gets the requested policy.": { + "$ref": "./examples/ReplicationPolicies_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { - "get": { + }, + "put": { "tags": [ - "ReplicationNetworks" + "ReplicationPolicies" + ], + "summary": "Creates the policy.", + "description": "The operation to create a replication policy", + "operationId": "ReplicationPolicies_Create", + "consumes": [ + "application/json" ], - "summary": "Gets a network with specified server id and network name.", - "description": "Gets the details of a network.", - "operationId": "ReplicationNetworks_Get", "produces": [ "application/json" ], @@ -4753,43 +4829,47 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "policyName", "in": "path", - "description": "Server Id.", + "description": "Replication policy name", "required": true, "type": "string" }, { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "name": "input", + "in": "body", + "description": "Create policy input", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CreatePolicyInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Network" + "$ref": "#/definitions/Policy" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a network with specified server id and network name.": { - "$ref": "./examples/ReplicationNetworks_Get.json" + "Creates the policy.": { + "$ref": "./examples/ReplicationPolicies_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { - "get": { + }, + "delete": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationPolicies" ], - "summary": "Gets network mapping by name.", - "description": "Gets the details of an ASR network mapping", - "operationId": "ReplicationNetworkMappings_Get", + "summary": "Delete the policy.", + "description": "The operation to delete a replication policy.", + "operationId": "ReplicationPolicies_Delete", "produces": [ "application/json" ], @@ -4807,48 +4887,35 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" - }, - { - "name": "networkMappingName", + "name": "policyName", "in": "path", - "description": "Network mapping name.", + "description": "Replication policy name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NetworkMapping" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets network mapping by name.": { - "$ref": "./examples/ReplicationNetworkMappings_Get.json" + "Delete the policy.": { + "$ref": "./examples/ReplicationPolicies_Delete.json" } } }, - "put": { + "patch": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationPolicies" ], - "summary": "Creates network mapping.", - "description": "The operation to create an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Create", + "summary": "Updates the policy.", + "description": "The operation to update a replication policy.", + "operationId": "ReplicationPolicies_Update", "consumes": [ "application/json" ], @@ -4869,33 +4936,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" - }, - { - "name": "networkMappingName", + "name": "policyName", "in": "path", - "description": "Network mapping name.", + "description": "Policy Id.", "required": true, "type": "string" }, { "name": "input", "in": "body", - "description": "Create network mapping input.", + "description": "Update Policy Input", "required": true, "schema": { - "$ref": "#/definitions/CreateNetworkMappingInput" + "$ref": "#/definitions/UpdatePolicyInput" } } ], @@ -4903,7 +4956,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/Policy" } }, "202": { @@ -4912,18 +4965,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Create.json" + "Updates the policy.": { + "$ref": "./examples/ReplicationPolicies_Update.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationProtectedItems" ], - "summary": "Delete network mapping.", - "description": "The operation to delete a network mapping.", - "operationId": "ReplicationNetworkMappings_Delete", + "summary": "Gets the list of replication protected items.", + "description": "Gets the list of ASR replication protected items in the vault.", + "operationId": "ReplicationProtectedItems_List", "produces": [ "application/json" ], @@ -4941,52 +4996,47 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, + "name": "skipToken", + "in": "query", + "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", + "required": false, "type": "string" }, { - "name": "networkMappingName", - "in": "path", - "description": "ARM Resource Name for network mapping.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", "x-ms-examples": { - "Delete network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Delete.json" + "Gets the list of replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_List.json" } } - }, - "patch": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { + "get": { "tags": [ - "ReplicationNetworkMappings" - ], - "summary": "Updates network mapping.", - "description": "The operation to update an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Update", - "consumes": [ - "application/json" + "ReplicationProtectionContainerMappings" ], + "summary": "Gets the list of all protection container mappings in a vault.", + "description": "Lists the protection container mappings in the vault.", + "operationId": "ReplicationProtectionContainerMappings_List", "produces": [ "application/json" ], @@ -5002,65 +5052,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" - }, - { - "name": "networkMappingName", - "in": "path", - "description": "Network mapping name.", - "required": true, - "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Update network mapping input.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateNetworkMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/ProtectionContainerMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Updates network mapping.": { - "$ref": "./examples/ReplicationNetworkMappings_Update.json" + "Gets the list of all protection container mappings in a vault.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { "get": { "tags": [ - "ReplicationLogicalNetworks" + "ReplicationProtectionContainers" ], - "summary": "Gets the list of logical networks under a fabric.", - "description": "Lists all the logical networks of the Azure Site Recovery fabric", - "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", + "summary": "Gets the list of all protection containers in a vault.", + "description": "Lists the protection containers in a vault.", + "operationId": "ReplicationProtectionContainers_List", "produces": [ "application/json" ], @@ -5076,20 +5095,13 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Server Id.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogicalNetworkCollection" + "$ref": "#/definitions/ProtectionContainerCollection" } } }, @@ -5097,20 +5109,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of logical networks under a fabric.": { - "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" + "Gets the list of all protection containers in a vault.": { + "$ref": "./examples/ReplicationProtectionContainers_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { "get": { "tags": [ - "ReplicationLogicalNetworks" + "ReplicationRecoveryPlans" ], - "summary": "Gets a logical network with specified server id and logical network name.", - "description": "Gets the details of a logical network.", - "operationId": "ReplicationLogicalNetworks_Get", + "summary": "Gets the list of recovery plans.", + "description": "Lists the recovery plans in the vault.", + "operationId": "ReplicationRecoveryPlans_List", "produces": [ "application/json" ], @@ -5126,18 +5138,54 @@ }, { "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlanCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of recovery plans.": { + "$ref": "./examples/ReplicationRecoveryPlans_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the requested recovery plan.", + "description": "Gets the details of the recovery plan.", + "operationId": "ReplicationRecoveryPlans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, { - "name": "fabricName", - "in": "path", - "description": "Server Id.", - "required": true, - "type": "string" + "$ref": "#/parameters/ResourceName" }, { - "name": "logicalNetworkName", + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", "in": "path", - "description": "Logical network name.", + "description": "Name of the recovery plan.", "required": true, "type": "string" } @@ -5146,25 +5194,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogicalNetwork" + "$ref": "#/definitions/RecoveryPlan" } } }, "x-ms-examples": { - "Gets a logical network with specified server id and logical network name.": { - "$ref": "./examples/ReplicationLogicalNetworks_Get.json" + "Gets the requested recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { - "post": { + }, + "put": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" ], - "summary": "Resumes the specified job.", - "description": "The operation to resume an Azure Site Recovery job", - "operationId": "ReplicationJobs_Resume", + "summary": "Creates a recovery plan with the given details.", + "description": "The operation to create a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Create", "consumes": [ "application/json" ], @@ -5185,19 +5231,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "recoveryPlanName", "in": "path", - "description": "Job identifier.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "resumeJobParams", + "name": "input", "in": "body", - "description": "Resume rob comments.", + "description": "Recovery Plan creation input.", "required": true, "schema": { - "$ref": "#/definitions/ResumeJobParams" + "$ref": "#/definitions/CreateRecoveryPlanInput" } } ], @@ -5205,7 +5251,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -5214,20 +5260,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Resumes the specified job.": { - "$ref": "./examples/ReplicationJobs_Resume.json" + "Creates a recovery plan with the given details.": { + "$ref": "./examples/ReplicationRecoveryPlans_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { - "post": { + }, + "delete": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" ], - "summary": "Restarts the specified job.", - "description": "The operation to restart an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Restart", + "summary": "Deletes the specified recovery plan.", + "description": "Delete a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Delete", "produces": [ "application/json" ], @@ -5245,40 +5289,38 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "recoveryPlanName", "in": "path", - "description": "Job identifier.", + "description": "Recovery plan name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Job" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Restarts the specified job.": { - "$ref": "./examples/ReplicationJobs_Restart.json" + "Deletes the specified recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { - "post": { + }, + "patch": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" + ], + "summary": "Updates the given recovery plan.", + "description": "The operation to update a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Update", + "consumes": [ + "application/json" ], - "summary": "Cancels the specified job.", - "description": "The operation to cancel an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Cancel", "produces": [ "application/json" ], @@ -5296,18 +5338,27 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "recoveryPlanName", "in": "path", - "description": "Job indentifier.", + "description": "Recovery plan name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update recovery plan input", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRecoveryPlanInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -5316,20 +5367,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Cancels the specified job.": { - "$ref": "./examples/ReplicationJobs_Cancel.json" + "Updates the given recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { + "post": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" ], - "summary": "Gets the job details.", - "description": "Get the details of an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Get", + "summary": "Execute commit failover of the recovery plan.", + "description": "The operation to commit the fail over of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCommit", "produces": [ "application/json" ], @@ -5347,9 +5398,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "recoveryPlanName", "in": "path", - "description": "Job identifier", + "description": "Recovery plan name.", "required": true, "type": "string" } @@ -5358,25 +5409,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPlan" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the job details.": { - "$ref": "./examples/ReplicationJobs_Get.json" + "Execute commit failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { "post": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" ], - "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", - "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", - "operationId": "ReplicationJobs_Export", + "summary": "Execute planned failover of the recovery plan.", + "description": "The operation to start the planned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_PlannedFailover", "consumes": [ "application/json" ], @@ -5397,12 +5452,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobQueryParameter", + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", "in": "body", - "description": "job query filter.", + "description": "Failover input.", "required": true, "schema": { - "$ref": "#/definitions/JobQueryParameter" + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" } } ], @@ -5410,7 +5472,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -5419,20 +5481,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Exports the details of the Azure Site Recovery jobs of the vault.": { - "$ref": "./examples/ReplicationJobs_Export.json" + "Execute planned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "post": { "tags": [ - "ReplicationJobs" + "ReplicationRecoveryPlans" ], - "summary": "Gets the list of jobs.", - "description": "Gets the list of Azure Site Recovery Jobs for the vault.", - "operationId": "ReplicationJobs_List", + "summary": "Execute reprotect of the recovery plan.", + "description": "The operation to reprotect(reverse replicate) a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Reprotect", "produces": [ "application/json" ], @@ -5450,10 +5512,10 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, "type": "string" } ], @@ -5461,29 +5523,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/JobCollection" + "$ref": "#/definitions/RecoveryPlan" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/JobQueryParameter", + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of jobs.": { - "$ref": "./examples/ReplicationJobs_List.json" + "Execute reprotect of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { "post": { "tags": [ - "ReplicationFabrics" + "ReplicationRecoveryPlans" ], - "summary": "Perform failover of the process server.", - "description": "The operation to move replications from a process server to another process server.", - "operationId": "ReplicationFabrics_ReassociateGateway", + "summary": "Execute test failover of the recovery plan.", + "description": "The operation to start the test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailover", "consumes": [ "application/json" ], @@ -5504,19 +5566,19 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "The name of the fabric containing the process server.", + "description": "Recovery plan name.", "required": true, "type": "string" }, { - "name": "failoverProcessServerRequest", + "name": "input", "in": "body", - "description": "The input to the failover process server operation.", + "description": "Failover input.", "required": true, "schema": { - "$ref": "#/definitions/FailoverProcessServerRequest" + "$ref": "#/definitions/RecoveryPlanTestFailoverInput" } } ], @@ -5524,7 +5586,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -5533,20 +5595,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Perform failover of the process server.": { - "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" + "Execute test failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { "post": { "tags": [ - "ReplicationFabrics" + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover cleanup of the recovery plan.", + "description": "The operation to cleanup test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", + "consumes": [ + "application/json" ], - "summary": "Checks the consistency of the ASR fabric.", - "description": "The operation to perform a consistency check on the fabric.", - "operationId": "ReplicationFabrics_CheckConsistency", "produces": [ "application/json" ], @@ -5564,18 +5629,27 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "Fabric name.", + "description": "Recovery plan name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/RecoveryPlan" } }, "202": { @@ -5584,20 +5658,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Checks the consistency of the ASR fabric.": { - "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" + "Execute test failover cleanup of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { "post": { "tags": [ - "ReplicationFabrics" + "ReplicationRecoveryPlans" + ], + "summary": "Execute unplanned failover of the recovery plan.", + "description": "The operation to start the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "consumes": [ + "application/json" ], - "summary": "Deletes the site.", - "description": "The operation to delete or remove an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Delete", "produces": [ "application/json" ], @@ -5615,37 +5692,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "recoveryPlanName", "in": "path", - "description": "ASR fabric to delete", + "description": "Recovery plan name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes the site.": { - "$ref": "./examples/ReplicationFabrics_Delete.json" + "Execute unplanned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { "get": { "tags": [ - "ReplicationFabrics" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets the details of an ASR fabric.", - "description": "Gets the details of an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Get", + "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", + "description": "Lists the registered recovery services providers in the vault", + "operationId": "ReplicationRecoveryServicesProviders_List", "produces": [ "application/json" ], @@ -5661,39 +5750,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/RecoveryServicesProviderCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets the details of an ASR fabric.": { - "$ref": "./examples/ReplicationFabrics_Get.json" + "Gets the list of registered recovery services providers in the vault. This is a view only api.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" } } - }, - "put": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { + "get": { "tags": [ - "ReplicationFabrics" - ], - "summary": "Creates an Azure Site Recovery fabric.", - "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", - "operationId": "ReplicationFabrics_Create", - "consumes": [ - "application/json" + "ReplicationStorageClassificationMappings" ], + "summary": "Gets the list of storage classification mappings objects under a vault.", + "description": "Lists the storage classification mappings in the vault.", + "operationId": "ReplicationStorageClassificationMappings_List", "produces": [ "application/json" ], @@ -5709,49 +5793,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Name of the ASR fabric.", - "required": true, - "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Fabric creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/FabricCreationInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/StorageClassificationMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Creates an Azure Site Recovery fabric.": { - "$ref": "./examples/ReplicationFabrics_Create.json" + "Gets the list of storage classification mappings objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" } } - }, - "delete": { + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationStorageClassifications" ], - "summary": "Purges the site.", - "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Purge", + "summary": "Gets the list of storage classification objects under a vault.", + "description": "Lists the storage classifications in the vault.", + "operationId": "ReplicationStorageClassifications_List", "produces": [ "application/json" ], @@ -5767,39 +5836,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "ASR fabric to purge.", - "required": true, - "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Purges the site.": { - "$ref": "./examples/ReplicationFabrics_Purge.json" + "Gets the list of storage classification objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassifications_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { "get": { "tags": [ - "ReplicationFabrics" + "ReplicationVaultHealth" ], - "summary": "Gets the list of ASR fabrics", - "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", - "operationId": "ReplicationFabrics_List", + "summary": "Gets the health summary for the vault.", + "description": "Gets the health details of the vault.", + "operationId": "ReplicationVaultHealth_Get", "produces": [ "application/json" ], @@ -5821,28 +5885,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/FabricCollection" + "$ref": "#/definitions/VaultHealthDetails" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of ASR fabrics": { - "$ref": "./examples/ReplicationFabrics_List.json" + "Gets the health summary for the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { + "post": { "tags": [ - "ReplicationAlertSettings" + "ReplicationVaultHealth" ], - "summary": "Gets an email notification(alert) configuration.", - "description": "Gets the details of the specified email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Get", + "summary": "Refreshes health summary of the vault.", + "operationId": "ReplicationVaultHealth_Refresh", "produces": [ "application/json" ], @@ -5858,95 +5918,35 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "alertSettingName", - "in": "path", - "description": "The name of the email notification configuration.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Alert" + "$ref": "#/definitions/VaultHealthDetails" } - } - }, - "x-ms-examples": { - "Gets an email notification(alert) configuration.": { - "$ref": "./examples/ReplicationAlertSettings_Get.json" - } - } - }, - "put": { - "tags": [ - "ReplicationAlertSettings" - ], - "summary": "Configures email notifications for this vault.", - "description": "Create or update an email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Create", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "alertSettingName", - "in": "path", - "description": "The name of the email notification(alert) configuration.", - "required": true, - "type": "string" }, - { - "name": "request", - "in": "body", - "description": "The input to configure the email notification(alert).", - "required": true, - "schema": { - "$ref": "#/definitions/ConfigureAlertRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Alert" - } + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Configures email notifications for this vault.": { - "$ref": "./examples/ReplicationAlertSettings_Create.json" + "Refreshes health summary of the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Refresh.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { "get": { "tags": [ - "ReplicationAlertSettings" + "ReplicationvCenters" ], - "summary": "Gets the list of configured email notification(alert) configurations.", - "description": "Gets the list of email notification(alert) configurations for the vault.", - "operationId": "ReplicationAlertSettings_List", + "summary": "Gets the list of vCenter registered under the vault.", + "description": "Lists the vCenter servers registered in the vault.", + "operationId": "ReplicationvCenters_List", "produces": [ "application/json" ], @@ -5968,7 +5968,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AlertCollection" + "$ref": "#/definitions/VCenterCollection" } } }, @@ -5976,798 +5976,757 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of configured email notification(alert) configurations.": { - "$ref": "./examples/ReplicationAlertSettings_List.json" + "Gets the list of vCenter registered under the vault.": { + "$ref": "./examples/ReplicationvCenters_List.json" } } } } }, "definitions": { - "AlertCollection": { - "description": "Collection of alerts.", + "A2AApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2A provider.", "type": "object", - "properties": { - "value": { - "description": "The list of alerts.", - "type": "array", - "items": { - "$ref": "#/definitions/Alert" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } - } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" }, - "Alert": { - "description": "Implements the Alert class.", + "A2AContainerCreationInput": { + "description": "A2A cloud creation input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" } ], - "properties": { - "properties": { - "$ref": "#/definitions/AlertProperties", - "description": "Alert related data." - } - } + "properties": {}, + "x-ms-discriminator-value": "A2A" }, - "AlertProperties": { - "description": "The proprties of an alert.", + "A2AEnableProtectionInput": { + "description": "A2A enable protection input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", "type": "string" }, - "customEmailAddresses": { - "description": "The custom email address for sending emails.", - "type": "array", - "items": { - "type": "string" - } + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" }, - "locale": { - "description": "The locale for the email notification.", + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", "type": "string" - } - } - }, - "ConfigureAlertRequest": { - "description": "Request to configure alerts for the system.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ConfigureAlertRequestProperties", - "description": "The properties of a configure alert request." - } - } - }, - "ConfigureAlertRequestProperties": { - "description": "Properties of a configure alert request.", - "type": "object", - "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", "type": "string" }, - "customEmailAddresses": { - "description": "The custom email address for sending emails.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/A2AVmDiskInputDetails" } }, - "locale": { - "description": "The locale for the email notification.", - "type": "string" - } - } - }, - "FabricCollection": { - "description": "Collection of fabric details.", - "type": "object", - "properties": { - "value": { - "description": "The fabric details.", + "vmManagedDisks": { + "description": "The list of vm managed disk details.", "type": "array", "items": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" } }, - "nextLink": { - "description": "The value of next link.", + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "Fabric": { - "description": "Fabric definition.", + "A2AEventDetails": { + "description": "Model class for event details of a A2A event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/FabricProperties", - "description": "Fabric related data." - } - } - }, - "FabricProperties": { - "description": "Fabric properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the fabric.", + "protectedItemName": { + "description": "The protected item arm name.", "type": "string" }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Encryption details for the fabric." - }, - "rolloverEncryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Rollover encryption details for the fabric." + "fabricObjectId": { + "description": "The azure vm arm id.", + "type": "string" }, - "internalIdentifier": { - "description": "Dra Registration Id.", + "fabricName": { + "description": "Fabric arm name.", "type": "string" }, - "bcdrState": { - "description": "BCDR state of the fabric.", + "fabricLocation": { + "description": "The fabric location.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/FabricSpecificDetails", - "description": "Fabric specific settings." + "remoteFabricName": { + "description": "Remote fabric arm name.", + "type": "string" }, - "healthErrorDetails": { - "description": "Fabric health error details.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "health": { - "description": "Health of fabric.", + "remoteFabricLocation": { + "description": "Remote fabric location.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "EncryptionDetails": { - "description": "Encryption details for the fabric.", + "A2AFailoverProviderInput": { + "description": "A2A provider specific input for failover.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], "properties": { - "kekState": { - "description": "The key encryption key state for the Vmm.", - "type": "string" - }, - "kekCertThumbprint": { - "description": "The key encryption key certificate thumbprint.", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" }, - "kekCertExpiryDate": { - "format": "date-time", - "description": "The key encryption key certificate expiry date.", + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "FabricSpecificDetails": { - "description": "Fabric specific details.", + "A2APolicyCreationInput": { + "description": "A2A Policy creation input.", + "required": [ + "multiVmSyncStatus" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], "properties": { - "instanceType": { - "description": "Gets the class type. Overridden in derived classes.", + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false + } } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "A2A" }, - "HealthError": { - "description": "Health Error", + "A2APolicyDetails": { + "description": "A2A specific policy details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], "properties": { - "innerHealthErrors": { - "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", - "type": "array", - "items": { - "$ref": "#/definitions/InnerHealthError" - } + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "errorSource": { - "description": "Source of error.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "errorType": { - "description": "Type of error.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" }, - "errorLevel": { - "description": "Level of error.", + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" }, - "errorCategory": { - "description": "Category of error.", + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectedDiskDetails": { + "description": "A2A protected disk details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk uri.", "type": "string" }, - "errorCode": { - "description": "Error code.", + "recoveryAzureStorageAccountId": { + "description": "The recovery disk storage account.", "type": "string" }, - "summaryMessage": { - "description": "Summary message of the entity.", + "primaryDiskAzureStorageAccountId": { + "description": "The primary disk storage account.", "type": "string" }, - "errorMessage": { - "description": "Error message.", + "recoveryDiskUri": { + "description": "Recovery disk uri.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", + "diskName": { + "description": "The disk name.", "type": "string" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", - "type": "string" + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" }, - "creationTimeUtc": { - "format": "date-time", - "description": "Error creation time (UTC)", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", "type": "string" }, - "recoveryProviderErrorMessage": { - "description": "DRA error message.", + "diskType": { + "description": "The type of disk.", "type": "string" }, - "entityId": { - "description": "ID of the entity.", + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" } } }, - "InnerHealthError": { - "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "A2AProtectedManagedDiskDetails": { + "description": "A2A protected managed disk details.", "type": "object", "properties": { - "errorSource": { - "description": "Source of error.", + "diskId": { + "description": "The managed disk Arm id.", "type": "string" }, - "errorType": { - "description": "Type of error.", + "recoveryResourceGroupId": { + "description": "The recovery disk resource group Arm Id.", "type": "string" }, - "errorLevel": { - "description": "Level of error.", + "recoveryTargetDiskId": { + "description": "Recovery target disk Arm Id.", "type": "string" }, - "errorCategory": { - "description": "Category of error.", + "recoveryReplicaDiskId": { + "description": "Recovery replica disk Arm Id.", "type": "string" }, - "errorCode": { - "description": "Error code.", + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", "type": "string" }, - "summaryMessage": { - "description": "Summary message of the entity.", + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", "type": "string" }, - "errorMessage": { - "description": "Error message.", + "diskName": { + "description": "The disk name.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", - "type": "string" + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", "type": "string" }, - "creationTimeUtc": { - "format": "date-time", - "description": "Error creation time (UTC)", + "diskType": { + "description": "The type of disk.", "type": "string" }, - "recoveryProviderErrorMessage": { - "description": "DRA error message.", - "type": "string" + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" }, - "entityId": { - "description": "ID of the entity.", - "type": "string" - } - } - }, - "FabricCreationInput": { - "description": "Site details provided during the time of site creation", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/FabricCreationInputProperties", - "description": "Fabric creation input." - } - } - }, - "FabricCreationInputProperties": { - "description": "Properties of site details provided during the time of site creation", - "type": "object", - "properties": { - "customDetails": { - "$ref": "#/definitions/FabricSpecificCreationInput", - "description": "Fabric provider specific creation input." - } - } - }, - "FabricSpecificCreationInput": { - "description": "Fabric provider specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "Object": { - "description": "Base of all objects.", - "type": "object", - "properties": {} - }, - "FailoverProcessServerRequest": { - "description": "Request to failover a process server.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/FailoverProcessServerRequestProperties", - "description": "The properties of the PS Failover request." - } - } - }, - "FailoverProcessServerRequestProperties": { - "description": "The properties of the Failover Process Server request.", - "type": "object", - "properties": { - "containerName": { - "description": "The container identifier.", - "type": "string" - }, - "sourceProcessServerId": { - "description": "The source process server.", - "type": "string" - }, - "targetProcessServerId": { - "description": "The new process server.", + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" }, - "vmsToMigrate": { - "description": "The VMS to migrate.", - "type": "array", - "items": { - "type": "string" - } + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" }, - "updateType": { - "description": "A value for failover type. It can be systemlevel/serverlevel", - "type": "string" + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" } } }, - "JobCollection": { - "description": "Collection of jobs.", + "A2ARecoveryPointDetails": { + "description": "A2A provider specific recovery point details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], "properties": { - "value": { - "description": "The list of jobs.", - "type": "array", - "items": { - "$ref": "#/definitions/Job" + "recoveryPointSyncType": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "enum": [ + "MultiVmSyncRecoveryPoint", + "PerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointSyncType", + "modelAsString": false } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "Job": { - "description": "Job details.", + "A2AReplicationDetails": { + "description": "A2A provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "properties": { - "$ref": "#/definitions/JobProperties", - "description": "The custom data." - } - } - }, - "JobProperties": { - "description": "Job custom data details.", - "type": "object", - "properties": { - "activityId": { - "description": "The activity id.", + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", "type": "string" }, - "scenarioName": { - "description": "The ScenarioName.", + "multiVmGroupId": { + "description": "The multi vm group Id.", "type": "string" }, - "friendlyName": { - "description": "The DisplayName.", + "multiVmGroupName": { + "description": "The multi vm group name.", "type": "string" }, - "state": { - "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", - "type": "string" + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": false + } }, - "stateDescription": { - "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "managementId": { + "description": "The management Id.", "type": "string" }, - "tasks": { - "description": "The tasks.", + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "$ref": "#/definitions/ASRTask" + "$ref": "#/definitions/A2AProtectedDiskDetails" } }, - "errors": { - "description": "The errors.", + "protectedManagedDisks": { + "description": "The list of protected managed disks.", "type": "array", "items": { - "$ref": "#/definitions/JobErrorDetails" + "$ref": "#/definitions/A2AProtectedManagedDiskDetails" } }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "recoveryBootDiagStorageAccountId": { + "description": "The recovery boot diagnostic storage account Arm Id.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "primaryFabricLocation": { + "description": "Primary fabric location.", "type": "string" }, - "allowedActions": { - "description": "The Allowed action the job.", - "type": "array", - "items": { - "type": "string" - } + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" }, - "targetObjectId": { - "description": "The affected Object Id.", + "osType": { + "description": "The type of operating system.", "type": "string" }, - "targetObjectName": { - "description": "The name of the affected object.", + "recoveryAzureVMSize": { + "description": "The size of recovery virtual machine.", "type": "string" }, - "targetInstanceType": { - "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", + "recoveryAzureVMName": { + "description": "The name of recovery virtual machine.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/JobDetails", - "description": "The custom job details like test failover job details." - } - } - }, - "ASRTask": { - "description": "Task of the Job.", - "type": "object", - "properties": { - "taskId": { - "description": "The Id.", + "recoveryAzureResourceGroupId": { + "description": "The recovery resource group.", "type": "string" }, - "name": { - "description": "The unique Task name.", + "recoveryCloudService": { + "description": "The recovery cloud service.", "type": "string" }, - "startTime": { - "format": "date-time", - "description": "The start time.", + "recoveryAvailabilitySet": { + "description": "The recovery availability set.", "type": "string" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "selectedRecoveryAzureNetworkId": { + "description": "The recovery virtual network.", "type": "string" }, - "allowedActions": { - "description": "The state/actions applicable on this task.", + "vmNics": { + "description": "The virtual machine nic details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/VMNicDetails" } }, - "friendlyName": { - "description": "The name.", - "type": "string" + "vmSyncedConfigDetails": { + "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", + "description": "The synced configuration details." }, - "state": { - "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", "type": "string" }, - "stateDescription": { - "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", "type": "string" }, - "taskType": { - "description": "The type of task. Details in CustomDetails property depend on this type.", + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/TaskTypeDetails", - "description": "The custom task details based on the task type." + "isReplicationAgentUpdateRequired": { + "description": "A value indicating whether replication agent update is required.", + "type": "boolean" }, - "groupTaskCustomDetails": { - "$ref": "#/definitions/GroupTaskDetails", - "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." + "recoveryFabricObjectId": { + "description": "The recovery fabric object Id.", + "type": "string" }, - "errors": { - "description": "The task error details.", - "type": "array", - "items": { - "$ref": "#/definitions/JobErrorDetails" - } - } - } - }, - "JobErrorDetails": { - "description": "This class contains the error details per object.", - "type": "object", - "properties": { - "serviceErrorDetails": { - "$ref": "#/definitions/ServiceError", - "description": "The Service error details." + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" }, - "providerErrorDetails": { - "$ref": "#/definitions/ProviderError", - "description": "The Provider error details." + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" }, - "errorLevel": { - "description": "Error level of error.", + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", "type": "string" }, - "creationTime": { - "format": "date-time", - "description": "The creation time of job error.", + "testFailoverRecoveryFabricObjectId": { + "description": "The test failover fabric object Id.", "type": "string" }, - "taskId": { - "description": "The Id of the task.", + "rpoInSeconds": { + "format": "int64", + "description": "The last RPO value in seconds.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "JobDetails": { - "description": "Job details based on specific job type.", + "A2AReprotectInput": { + "description": "Azure specific reprotect input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], "properties": { - "instanceType": { - "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", - "type": "string", - "readOnly": true + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" }, - "affectedObjectDetails": { - "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", - "type": "object", - "additionalProperties": { - "type": "string" + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" } - } - }, - "discriminator": "instanceType" - }, - "TaskTypeDetails": { - "description": "Task details based on specific task type.", - "type": "object", - "properties": { - "instanceType": { - "description": "The type of task details.", + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "A2A" }, - "GroupTaskDetails": { - "description": "This class represents the group task details when parent child relationship exists in the drill down.", + "A2ASwitchProtectionInput": { + "description": "A2A specific switch protection input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + } + ], "properties": { - "instanceType": { - "description": "The type of task details.", + "recoveryContainerId": { + "description": "The recovery container Id.", "type": "string" }, - "childTasks": { - "description": "The child tasks.", + "vmDisks": { + "description": "The list of vm disk details.", "type": "array", "items": { - "$ref": "#/definitions/ASRTask" + "$ref": "#/definitions/A2AVmDiskInputDetails" } - } - }, - "discriminator": "instanceType" - }, - "ServiceError": { - "description": "ASR error model", - "type": "object", - "properties": { - "code": { - "description": "Error code.", + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", "type": "string" }, - "message": { - "description": "Error message.", + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", "type": "string" }, - "possibleCauses": { - "description": "Possible causes of error.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", "type": "string" }, - "recommendedAction": { - "description": "Recommended action to resolve error.", + "policyId": { + "description": "The Policy Id.", "type": "string" }, - "activityId": { - "description": "Activity Id.", + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "ProviderError": { - "description": "This class contains the error details per object.", + "A2AUpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], "properties": { - "errorCode": { - "format": "int32", - "description": "The Error code.", - "type": "integer" + "recoveryCloudServiceId": { + "description": "The target cloud service ARM Id (for V1).", + "type": "string" }, - "errorMessage": { - "description": "The Error message.", + "recoveryResourceGroupId": { + "description": "The target resource group ARM Id (for V2).", "type": "string" }, - "errorId": { - "description": "The Provider error Id.", + "managedDiskUpdateDetails": { + "description": "Managed disk update details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AVmDiskInputDetails": { + "description": "Azure VM disk input details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", "type": "string" }, - "possibleCauses": { - "description": "The possible causes for the error.", + "recoveryAzureStorageAccountId": { + "description": "The recovery VHD storage account Id.", "type": "string" }, - "recommendedAction": { - "description": "The recommended action to resolve the error.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Id.", "type": "string" } } }, - "JobQueryParameter": { - "description": "Query parameter to enumerate jobs.", + "A2AVmManagedDiskInputDetails": { + "description": "Azure VM managed disk input details.", "type": "object", "properties": { - "startTime": { - "description": "Date time to get jobs from.", + "diskId": { + "description": "The disk Id.", "type": "string" }, - "endTime": { - "description": "Date time to get jobs upto.", + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Arm Id.", "type": "string" }, - "fabricId": { - "description": "The Id of the fabric to search jobs under.", + "recoveryResourceGroupId": { + "description": "The target resource group Arm Id.", "type": "string" }, - "affectedObjectTypes": { - "description": "The type of objects.", - "type": "array", - "items": { - "type": "string" - } + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" }, - "jobStatus": { - "description": "The states of the job to be filtered can be in.", - "type": "array", - "items": { - "type": "string" - } + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" } } }, - "ResumeJobParams": { - "description": "Resume job params.", + "A2AVmManagedDiskUpdateDetails": { + "description": "Azure VM managed disk update input details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/ResumeJobParamsProperties", - "description": "Resume job properties." - } - } - }, - "ResumeJobParamsProperties": { - "description": "Resume job properties.", - "type": "object", - "properties": { - "comments": { - "description": "Resume job comments.", + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type before failover.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type before failover.", "type": "string" } } }, - "LogicalNetwork": { - "description": "Logical network data model.", + "AddVCenterRequest": { + "description": "Input required to add vCenter.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { "properties": { - "$ref": "#/definitions/LogicalNetworkProperties", - "description": "The Logical Network Properties." + "$ref": "#/definitions/AddVCenterRequestProperties", + "description": "The properties of an add vCenter request." } } }, - "LogicalNetworkProperties": { - "description": "Logical Network Properties.", + "AddVCenterRequestProperties": { + "description": "The properties of an add vCenter request.", "type": "object", "properties": { "friendlyName": { - "description": "The Friendly Name.", + "description": "The friendly name of the vCenter.", "type": "string" }, - "networkVirtualizationStatus": { - "description": "A value indicating whether Network Virtualization is enabled for the logical network.", + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", "type": "string" }, - "logicalNetworkUsage": { - "description": "A value indicating whether logical network is used as private test network by test failover.", + "processServerId": { + "description": "The process server Id from where the discovery is orchestrated.", "type": "string" }, - "logicalNetworkDefinitionsStatus": { - "description": "A value indicating whether logical network definitions are isolated.", + "port": { + "description": "The port number for discovery.", "type": "string" - } - } - }, - "LogicalNetworkCollection": { - "description": "List of logical networks.", - "type": "object", - "properties": { - "value": { - "description": "The Logical Networks list details.", - "type": "array", - "items": { - "$ref": "#/definitions/LogicalNetwork" - } }, - "nextLink": { - "description": "The value of next link.", + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", "type": "string" } } }, - "NetworkMapping": { - "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.", + "Alert": { + "description": "Implements the Alert class.", "type": "object", "allOf": [ { @@ -6776,465 +6735,368 @@ ], "properties": { "properties": { - "$ref": "#/definitions/NetworkMappingProperties", - "description": "The Network Mapping Properties." + "$ref": "#/definitions/AlertProperties", + "description": "Alert related data." } } }, - "NetworkMappingProperties": { - "description": "Network Mapping Properties.", + "AlertCollection": { + "description": "Collection of alerts.", "type": "object", "properties": { - "state": { - "description": "The pairing state for network mapping.", - "type": "string" - }, - "primaryNetworkFriendlyName": { - "description": "The primary network friendly name.", - "type": "string" - }, - "primaryNetworkId": { - "description": "The primary network id for network mapping.", - "type": "string" - }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", - "type": "string" - }, - "recoveryNetworkFriendlyName": { - "description": "The recovery network friendly name.", - "type": "string" - }, - "recoveryNetworkId": { - "description": "The recovery network id for network mapping.", - "type": "string" - }, - "recoveryFabricArmId": { - "description": "The recovery fabric ARM id.", - "type": "string" + "value": { + "description": "The list of alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "fabricSpecificSettings": { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", - "description": "The fabric specific settings." - } - } - }, - "NetworkMappingFabricSpecificSettings": { - "description": "Network Mapping fabric specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "CreateNetworkMappingInput": { - "description": "Create network mappings input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreateNetworkMappingInputProperties", - "description": "Input properties for creating network mapping." } } }, - "CreateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", + "AlertProperties": { + "description": "The proprties of an alert.", "type": "object", "properties": { - "recoveryFabricName": { - "description": "Recovery fabric Name.", + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", "type": "string" }, - "recoveryNetworkId": { - "description": "Recovery network Id.", - "type": "string" + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", - "description": "Fabric specific input properties." - } - } - }, - "FabricSpecificCreateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", - "type": "object", - "properties": { - "instanceType": { - "description": "The instance type.", + "locale": { + "description": "The locale for the email notification.", "type": "string" } - }, - "discriminator": "instanceType" + } }, - "UpdateNetworkMappingInput": { - "description": "Update network mapping input.", + "ApplyRecoveryPointInput": { + "description": "Input to apply recovery point.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/UpdateNetworkMappingInputProperties", - "description": "The input properties needed to update network mapping." + "$ref": "#/definitions/ApplyRecoveryPointInputProperties", + "description": "The input properties to apply recovery point." } } }, - "UpdateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", + "ApplyRecoveryPointInputProperties": { + "description": "Input properties to apply recovery point.", "type": "object", "properties": { - "recoveryFabricName": { - "description": "Recovery fabric name.", - "type": "string" - }, - "recoveryNetworkId": { - "description": "Recovery network Id.", + "recoveryPointId": { + "description": "The recovery point Id.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", - "description": "Fabrics specific input network Id." + "providerSpecificDetails": { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", + "description": "Provider specific input for applying recovery point." } } }, - "FabricSpecificUpdateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", + "ApplyRecoveryPointProviderSpecificInput": { + "description": "Provider specific input for apply recovery point.", "type": "object", "properties": { "instanceType": { - "description": "The instance type.", + "description": "The class type.", "type": "string" } }, "discriminator": "instanceType" }, - "Network": { - "description": "Network model.", + "AsrJobDetails": { + "description": "This class represents job details based on specific job type.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/JobDetails" } ], - "properties": { - "properties": { - "$ref": "#/definitions/NetworkProperties", - "description": "The Network Properties." - } - } + "properties": {}, + "x-ms-discriminator-value": "AsrJobDetails" }, - "NetworkProperties": { - "description": "Network Properties", + "ASRTask": { + "description": "Task of the Job.", "type": "object", "properties": { - "fabricType": { - "description": "The Fabric Type.", + "taskId": { + "description": "The Id.", "type": "string" }, - "subnets": { - "description": "The List of subnets.", + "name": { + "description": "The unique Task name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The state/actions applicable on this task.", "type": "array", "items": { - "$ref": "#/definitions/Subnet" + "type": "string" } }, "friendlyName": { - "description": "The Friendly Name.", + "description": "The name.", "type": "string" }, - "networkType": { - "description": "The Network Type.", + "state": { + "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", "type": "string" - } - } - }, - "Subnet": { - "description": "Subnets of the network.", - "type": "object", - "properties": { - "name": { - "description": "The subnet name.", + }, + "stateDescription": { + "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", "type": "string" }, - "friendlyName": { - "description": "The subnet friendly name.", + "taskType": { + "description": "The type of task. Details in CustomDetails property depend on this type.", "type": "string" }, - "addressList": { - "description": "The list of addresses for the subnet.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "NetworkCollection": { - "description": "List of networks.", - "type": "object", - "properties": { - "value": { - "description": "The Networks list details.", - "type": "array", - "items": { - "$ref": "#/definitions/Network" - } + "customDetails": { + "$ref": "#/definitions/TaskTypeDetails", + "description": "The custom task details based on the task type." }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "OperationsDiscoveryCollection": { - "description": "Collection of ClientDiscovery details.", - "type": "object", - "properties": { - "value": { - "description": "The ClientDiscovery details.", + "groupTaskCustomDetails": { + "$ref": "#/definitions/GroupTaskDetails", + "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." + }, + "errors": { + "description": "The task error details.", "type": "array", "items": { - "$ref": "#/definitions/OperationsDiscovery" + "$ref": "#/definitions/JobErrorDetails" } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } } }, - "OperationsDiscovery": { - "description": "Operations discovery class.", + "AutomationRunbookTaskDetails": { + "description": "This class represents the task details for an automation runbook.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { "name": { - "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", + "description": "The recovery plan task name.", "type": "string" }, - "display": { - "$ref": "#/definitions/Display", - "description": "Object type" + "cloudServiceName": { + "description": "The cloud service of the automation runbook account.", + "type": "string" }, - "origin": { - "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"", + "subscriptionId": { + "description": "The subscription Id of the automation runbook account.", "type": "string" }, - "properties": { - "$ref": "#/definitions/OperationsDiscoveryProperties", - "description": "Properties. Reserved for future use." - } - } - }, - "Display": { - "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", - "type": "object", - "properties": { - "provider": { - "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", + "accountName": { + "description": "The automation account name of the runbook.", "type": "string" }, - "resource": { - "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", + "runbookId": { + "description": "The runbook Id.", "type": "string" }, - "operation": { - "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'", + "runbookName": { + "description": "The runbook name.", "type": "string" }, - "description": { - "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", + "jobId": { + "description": "The job Id of the runbook execution.", "type": "string" - } - } - }, - "OperationsDiscoveryProperties": { - "description": "ClientDiscovery properties.", - "type": "object", - "properties": {} - }, - "PolicyCollection": { - "description": "Protection Profile Collection details.", - "type": "object", - "properties": { - "value": { - "description": "The policy details.", - "type": "array", - "items": { - "$ref": "#/definitions/Policy" - } }, - "nextLink": { - "description": "The value of next link.", + "jobOutput": { + "description": "The execution output of the runbook.", "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" } - } + }, + "x-ms-discriminator-value": "AutomationRunbookTaskDetails" }, - "PolicyProperties": { - "description": "Protection profile custom data details.", + "AzureFabricCreationInput": { + "description": "Fabric provider specific settings.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], "properties": { - "friendlyName": { - "description": "The FriendlyName.", + "location": { + "description": "The Location.", "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/PolicyProviderSpecificDetails", - "description": "The ReplicationChannelSetting." } - } + }, + "x-ms-discriminator-value": "Azure" }, - "PolicyProviderSpecificDetails": { - "description": "Base class for Provider specific details for policies.", + "AzureFabricSpecificDetails": { + "description": "Azure Fabric Specific Details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], "properties": { - "instanceType": { - "description": "Gets the class type. Overridden in derived classes.", - "type": "string", - "readOnly": true + "location": { + "description": "The Location for the Azure fabric.", + "type": "string" + }, + "containerIds": { + "description": "The container Ids for the Azure fabric.", + "type": "array", + "items": { + "type": "string" + } } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "Azure" }, - "CreatePolicyInput": { - "description": "Protection Policy input.", + "AzureToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreatePolicyInputProperties", - "description": "Policy creation properties." + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } - } - }, - "CreatePolicyInputProperties": { - "description": "Policy creation properties.", - "type": "object", + ], "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureToAzure" }, - "PolicyProviderSpecificInput": { - "description": "Base class for provider specific input", + "AzureToAzureNetworkMappingSettings": { + "description": "A2A Network Mapping fabric specific settings.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], "properties": { - "instanceType": { - "description": "The class type.", + "primaryFabricLocation": { + "description": "The primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "AzureToAzure" }, - "Policy": { - "description": "Protection profile details.", + "AzureToAzureUpdateNetworkMappingInput": { + "description": "Updates network mappings input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/PolicyProperties", - "description": "The custom data." + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "AzureToAzure" }, - "UpdatePolicyInput": { - "description": "Update policy input.", + "AzureToAzureVmSyncedConfigDetails": { + "description": "Azure to Azure VM synced configuration details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/UpdatePolicyInputProperties", - "description": "The ReplicationProviderSettings." - } - } - }, - "UpdatePolicyInputProperties": { - "description": "Policy update properties.", - "type": "object", - "properties": { - "replicationProviderSettings": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." - } - } - }, - "ProtectableItemCollection": { - "description": "Protectable item collection.", - "type": "object", - "properties": { - "value": { - "description": "The Protectable item details.", + "tags": { + "description": "The Azure VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "roleAssignments": { + "description": "The Azure role assignments.", "type": "array", "items": { - "$ref": "#/definitions/ProtectableItem" + "$ref": "#/definitions/RoleAssignment" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "ProtectableItem": { - "description": "Replication protected item", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ProtectableItemProperties", - "description": "The custom data." + "inputEndpoints": { + "description": "The Azure VM input endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/InputEndpoint" + } } } }, - "ProtectableItemProperties": { - "description": "Replication protected item custom data details.", + "AzureVmDiskDetails": { + "description": "Disk details for E2A provider.", "type": "object", "properties": { - "friendlyName": { - "description": "The name.", + "vhdType": { + "description": "VHD type.", "type": "string" }, - "protectionStatus": { - "description": "The protection status.", + "vhdId": { + "description": "The VHD id.", "type": "string" }, - "replicationProtectedItemId": { - "description": "The ARM resource of protected items.", + "vhdName": { + "description": "VHD name.", "type": "string" }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", + "maxSizeMB": { + "description": "Max side in MB.", "type": "string" }, - "protectionReadinessErrors": { - "description": "The Current protection readiness errors.", - "type": "array", - "items": { - "type": "string" - } + "targetDiskLocation": { + "description": "Blob uri of the Azure disk.", + "type": "string" }, - "supportedReplicationProviders": { - "description": "The list of replication providers supported for the protectable item.", - "type": "array", - "items": { - "type": "string" - } + "targetDiskName": { + "description": "The target Azure disk name.", + "type": "string" }, - "customDetails": { - "$ref": "#/definitions/ConfigurationSettings", - "description": "The Replication provider custom settings." + "lunId": { + "description": "Ordinal\\LunId of the disk for the Azure VM.", + "type": "string" + } + } + }, + "ComputeSizeErrorDetails": { + "description": "Represents the error used to indicate why the target compute size is not applicable.", + "type": "object", + "properties": { + "message": { + "description": "The error message.", + "type": "string" + }, + "severity": { + "description": "The severity of the error.", + "type": "string" } } }, @@ -7250,130 +7112,142 @@ }, "discriminator": "instanceType" }, - "RemoveProtectionContainerMappingInput": { - "description": "Container unpairing input.", + "ConfigureAlertRequest": { + "description": "Request to configure alerts for the system.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." - } - } - }, - "RemoveProtectionContainerMappingInputProperties": { - "description": "Unpairing input properties.", - "type": "object", - "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", - "description": "Provider specific input for unpairing." + "$ref": "#/definitions/ConfigureAlertRequestProperties", + "description": "The properties of a configure alert request." } } }, - "ReplicationProviderContainerUnmappingInput": { - "description": "Provider specific input for unpairing operations.", + "ConfigureAlertRequestProperties": { + "description": "Properties of a configure alert request.", "type": "object", "properties": { - "instanceType": { - "description": "The class type.", + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", "type": "string" } } }, - "ProtectionContainerMapping": { - "description": "Protection container mapping object.", + "ConsistencyCheckTaskDetails": { + "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TaskTypeDetails" } ], + "properties": { + "vmDetails": { + "description": "The list of inconsistent Vm details.", + "type": "array", + "items": { + "$ref": "#/definitions/InconsistentVmDetails" + } + } + }, + "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + }, + "CreateNetworkMappingInput": { + "description": "Create network mappings input.", + "type": "object", "properties": { "properties": { - "$ref": "#/definitions/ProtectionContainerMappingProperties", - "description": "The custom data." + "$ref": "#/definitions/CreateNetworkMappingInputProperties", + "description": "Input properties for creating network mapping." } } }, - "ProtectionContainerMappingProperties": { - "description": "Protection container mapping properties.", + "CreateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", "type": "object", "properties": { - "targetProtectionContainerId": { - "description": "Paired protection container ARM ID.", - "type": "string" - }, - "targetProtectionContainerFriendlyName": { - "description": "Friendly name of paired container.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", - "description": "Provider specific provider details." - }, - "health": { - "description": "Health of pairing.", - "type": "string" - }, - "healthErrorDetails": { - "description": "Health error.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "policyId": { - "description": "Policy ARM Id.", - "type": "string" - }, - "state": { - "description": "Association Status", - "type": "string" - }, - "sourceProtectionContainerFriendlyName": { - "description": "Friendly name of source protection container.", - "type": "string" - }, - "sourceFabricFriendlyName": { - "description": "Friendly name of source fabric.", + "recoveryFabricName": { + "description": "Recovery fabric Name.", "type": "string" }, - "targetFabricFriendlyName": { - "description": "Friendly name of target fabric.", + "recoveryNetworkId": { + "description": "Recovery network Id.", "type": "string" }, - "policyFriendlyName": { - "description": "Friendly name of replication policy.", - "type": "string" + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", + "description": "Fabric specific input properties." } } }, - "ProtectionContainerMappingProviderSpecificDetails": { - "description": "Container mapping provider specific details.", + "CreatePolicyInput": { + "description": "Protection Policy input.", "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/CreatePolicyInputProperties", + "description": "Policy creation properties." } } }, - "CreateProtectionContainerMappingInput": { - "description": "Configure pairing input.", + "CreatePolicyInputProperties": { + "description": "Policy creation properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "CreateProtectionContainerInput": { + "description": "Create protection container input.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." + "$ref": "#/definitions/CreateProtectionContainerInputProperties", + "description": "Create protection container input properties." } } }, - "CreateProtectionContainerMappingInputProperties": { - "description": "Configure pairing input properties.", + "CreateProtectionContainerInputProperties": { + "description": "Create protection container input properties.", "type": "object", "properties": { - "targetProtectionContainerId": { + "providerSpecificInput": { + "description": "Provider specific inputs for container creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + } + } + }, + "CreateProtectionContainerMappingInput": { + "description": "Configure pairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "CreateProtectionContainerMappingInputProperties": { + "description": "Configure pairing input properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { "description": "The target unique protection container name.", "type": "string" }, @@ -7387,119 +7261,137 @@ } } }, - "ReplicationProviderSpecificContainerMappingInput": { - "description": "Provider specific input for pairing operations.", + "CreateRecoveryPlanInput": { + "description": "Create recovery plan input class.", + "required": [ + "properties" + ], "type": "object", "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" + "properties": { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties", + "description": "Recovery plan creation properties." } } }, - "ProtectionContainerCollection": { - "description": "Protection Container collection.", + "CreateRecoveryPlanInputProperties": { + "description": "Recovery plan creation properties.", + "required": [ + "primaryFabricId", + "recoveryFabricId", + "groups" + ], "type": "object", "properties": { - "value": { - "description": "The Protection Container details.", + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ], + "type": "string", + "x-ms-enum": { + "name": "FailoverDeploymentModel", + "modelAsString": false + } + }, + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/RecoveryPlanGroup" } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } } }, - "ProtectionContainer": { - "description": "Protection container details.", + "CurrentScenarioDetails": { + "description": "Current scenario details of the protected entity.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainerProperties", - "description": "The custom data." + "scenarioName": { + "description": "Scenario name.", + "type": "string" + }, + "jobId": { + "description": "ARM Id of the job being executed.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the workflow.", + "type": "string" } } }, - "ProtectionContainerProperties": { - "description": "Protection profile custom data details.", + "DataStore": { + "description": "The datastore details of the MT.", "type": "object", "properties": { - "fabricFriendlyName": { - "description": "Fabric friendly name.", + "symbolicName": { + "description": "The symbolic name of data store.", "type": "string" }, - "friendlyName": { - "description": "The name.", + "uuid": { + "description": "The uuid of data store.", "type": "string" }, - "fabricType": { - "description": "The fabric type.", + "capacity": { + "description": "The capacity of data store in GBs.", "type": "string" }, - "protectedItemCount": { - "format": "int32", - "description": "Number of protected PEs", - "type": "integer" - }, - "pairingStatus": { - "description": "The pairing status of this cloud.", + "freeSpace": { + "description": "The free space of data store in GBs.", "type": "string" }, - "role": { - "description": "The role of this cloud.", + "type": { + "description": "The type of data store.", "type": "string" - }, - "fabricSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", - "description": "Fabric specific details." - } - } - }, - "ProtectionContainerFabricSpecificDetails": { - "description": "Base class for fabric specific details of container.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true } } }, - "CreateProtectionContainerInput": { - "description": "Create protection container input.", + "DisableProtectionInput": { + "description": "Disable protection input.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/CreateProtectionContainerInputProperties", - "description": "Create protection container input properties." + "$ref": "#/definitions/DisableProtectionInputProperties", + "description": "Disable protection input properties." } } }, - "CreateProtectionContainerInputProperties": { - "description": "Create protection container input properties.", + "DisableProtectionInputProperties": { + "description": "Disable protection input properties.", "type": "object", "properties": { - "providerSpecificInput": { - "description": "Provider specific inputs for container creation.", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + "disableProtectionReason": { + "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "enum": [ + "NotSpecified", + "MigrationComplete" + ], + "type": "string", + "x-ms-enum": { + "name": "DisableProtectionReason", + "modelAsString": false } + }, + "replicationProviderInput": { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput", + "description": "Replication provider specific input." } } }, - "ReplicationProviderSpecificContainerCreationInput": { - "description": "Provider specific input for container creation operation.", + "DisableProtectionProviderSpecificInput": { + "description": "Disable protection provider specific input.", "type": "object", "properties": { "instanceType": { @@ -7537,2439 +7429,2011 @@ } } }, - "SwitchProtectionInput": { - "description": "Switch protection input.", + "DiskDetails": { + "description": "Onprem disk details data.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/SwitchProtectionInputProperties", - "description": "Switch protection properties" + "maxSizeMB": { + "format": "int64", + "description": "The hard disk max size in MB.", + "type": "integer" + }, + "vhdType": { + "description": "The type of the volume.", + "type": "string" + }, + "vhdId": { + "description": "The VHD Id.", + "type": "string" + }, + "vhdName": { + "description": "The VHD name.", + "type": "string" } } }, - "SwitchProtectionInputProperties": { - "description": "Switch protection input properties.", + "DiskVolumeDetails": { + "description": "Volume details.", "type": "object", "properties": { - "replicationProtectedItemName": { - "description": "The unique replication protected item name.", + "label": { + "description": "The volume label.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", - "description": "Provider specific switch protection input." + "name": { + "description": "The volume name.", + "type": "string" } } }, - "SwitchProtectionProviderSpecificInput": { - "description": "Provider specific switch protection input.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "RecoveryPlanCollection": { - "description": "Recovery plan collection details.", + "Display": { + "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", "type": "object", "properties": { - "value": { - "description": "The list of recovery plans.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlan" - } + "provider": { + "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "resource": { + "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", + "type": "string" + }, + "operation": { + "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'", + "type": "string" + }, + "description": { + "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", "type": "string" } } }, - "RecoveryPlan": { - "description": "Recovery plan details.", + "EnableProtectionInput": { + "description": "Enable protection input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { "properties": { - "$ref": "#/definitions/RecoveryPlanProperties", - "description": "The custom details." + "$ref": "#/definitions/EnableProtectionInputProperties", + "description": "Enable protection input properties." } } }, - "RecoveryPlanProperties": { - "description": "Recovery plan custom details.", + "EnableProtectionInputProperties": { + "description": "Enable protection input properties.", "type": "object", "properties": { - "friendlyName": { - "description": "The friendly name.", + "policyId": { + "description": "The Policy Id.", "type": "string" }, - "primaryFabricId": { - "description": "The primary fabric Id.", + "protectableItemId": { + "description": "The protectable item Id.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", + "providerSpecificDetails": { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "EnableProtectionProviderSpecificInput": { + "description": "Enable protection provider specific input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", + } + }, + "discriminator": "instanceType" + }, + "EncryptionDetails": { + "description": "Encryption details for the fabric.", + "type": "object", + "properties": { + "kekState": { + "description": "The key encryption key state for the Vmm.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", + "kekCertThumbprint": { + "description": "The key encryption key certificate thumbprint.", "type": "string" }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", + "kekCertExpiryDate": { + "format": "date-time", + "description": "The key encryption key certificate expiry date.", "type": "string" - }, - "replicationProviders": { - "description": "The list of replication providers.", + } + } + }, + "Event": { + "description": "Implements the Event class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventProperties", + "description": "Event related data." + } + } + }, + "EventCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The list of events.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Event" } }, - "allowedOperations": { - "description": "The list of allowed operations.", - "type": "array", - "items": { - "type": "string" - } + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "EventProperties": { + "description": "The properties of a monitoring event.", + "type": "object", + "properties": { + "eventCode": { + "description": "The Id of the monitoring event.", + "type": "string" }, - "lastPlannedFailoverTime": { - "format": "date-time", - "description": "The start time of the last planned failover.", + "description": { + "description": "The event name.", "type": "string" }, - "lastUnplannedFailoverTime": { - "format": "date-time", - "description": "The start time of the last unplanned failover.", + "eventType": { + "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", "type": "string" }, - "lastTestFailoverTime": { - "format": "date-time", - "description": "The start time of the last test failover.", + "affectedObjectFriendlyName": { + "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", "type": "string" }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario details." + "severity": { + "description": "The severity of the event.", + "type": "string" }, - "currentScenarioStatus": { - "description": "The recovery plan status.", + "timeOfOccurrence": { + "format": "date-time", + "description": "The time of occurence of the event.", "type": "string" }, - "currentScenarioStatusDescription": { - "description": "The recovery plan status description.", + "fabricId": { + "description": "The ARM ID of the fabric.", "type": "string" }, - "groups": { - "description": "The recovery plan groups.", + "providerSpecificDetails": { + "$ref": "#/definitions/EventProviderSpecificDetails", + "description": "The provider specific settings." + }, + "eventSpecificDetails": { + "$ref": "#/definitions/EventSpecificDetails", + "description": "The event specific settings." + }, + "healthErrors": { + "description": "The list of errors / warnings capturing details associated with the issue(s).", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "$ref": "#/definitions/HealthError" } } } }, - "RecoveryPlanGroup": { - "description": "Recovery plan group details.", - "required": [ - "groupType" - ], + "EventProviderSpecificDetails": { + "description": "Model class for provider specific details for an event.", "type": "object", "properties": { - "groupType": { - "description": "The group type.", - "enum": [ - "Shutdown", - "Boot", - "Failover" - ], + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanGroupType", - "modelAsString": false - } + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "EventQueryParameter": { + "description": "Implements the event query parameter.", + "type": "object", + "properties": { + "eventCode": { + "description": "The source id of the events to be queried.", + "type": "string" }, - "replicationProtectedItems": { - "description": "The list of protected items.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProtectedItem" - } + "severity": { + "description": "The severity of the events to be queried.", + "type": "string" }, - "startGroupActions": { - "description": "The start group actions.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanAction" - } + "eventType": { + "description": "The type of the events to be queried.", + "type": "string" }, - "endGroupActions": { - "description": "The end group actions.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanAction" - } + "fabricName": { + "description": "The affected object server id of the events to be queried.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The affected object name of the events to be queried.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time of the time range within which the events are to be queried.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time of the time range within which the events are to be queried.", + "type": "string" } } }, - "RecoveryPlanProtectedItem": { - "description": "Recovery plan protected item.", + "EventSpecificDetails": { + "description": "Model class for event specific details for an event.", "type": "object", "properties": { - "id": { - "description": "The ARM Id of the recovery plan protected item.", + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "ExportJobDetails": { + "description": "This class represents details for export jobs workflow.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "blobUri": { + "description": "BlobUri of the exported jobs.", "type": "string" }, - "virtualMachineId": { - "description": "The virtual machine Id.", + "sasToken": { + "description": "The sas token to access blob.", "type": "string" } - } + }, + "x-ms-discriminator-value": "ExportJobDetails" }, - "RecoveryPlanAction": { - "description": "Recovery plan action details.", - "required": [ - "actionName", - "failoverTypes", - "failoverDirections", - "customDetails" + "Fabric": { + "description": "Fabric definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], + "properties": { + "properties": { + "$ref": "#/definitions/FabricProperties", + "description": "Fabric related data." + } + } + }, + "FabricCollection": { + "description": "Collection of fabric details.", "type": "object", "properties": { - "actionName": { - "description": "The action name.", - "type": "string" - }, - "failoverTypes": { - "description": "The list of failover types.", - "type": "array", - "items": { - "enum": [ - "ReverseReplicate", - "Commit", - "PlannedFailover", - "UnplannedFailover", - "DisableProtection", - "TestFailover", - "TestFailoverCleanup", - "Failback", - "FinalizeFailback", - "ChangePit", - "RepairReplication", - "SwitchProtection", - "CompleteMigration" - ], - "type": "string", - "x-ms-enum": { - "name": "ReplicationProtectedItemOperation", - "modelAsString": false - } - } - }, - "failoverDirections": { - "description": "The list of failover directions.", + "value": { + "description": "The fabric details.", "type": "array", "items": { - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } + "$ref": "#/definitions/Fabric" } }, - "customDetails": { - "$ref": "#/definitions/RecoveryPlanActionDetails", - "description": "The custom details." + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "RecoveryPlanActionDetails": { - "description": "Recovery plan action custom details.", + "FabricCreationInput": { + "description": "Site details provided during the time of site creation", "type": "object", "properties": { - "instanceType": { - "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/FabricCreationInputProperties", + "description": "Fabric creation input." } - }, - "discriminator": "instanceType" + } }, - "CreateRecoveryPlanInput": { - "description": "Create recovery plan input class.", - "required": [ - "properties" - ], + "FabricCreationInputProperties": { + "description": "Properties of site details provided during the time of site creation", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/CreateRecoveryPlanInputProperties", - "description": "Recovery plan creation properties." + "customDetails": { + "$ref": "#/definitions/FabricSpecificCreationInput", + "description": "Fabric provider specific creation input." } } }, - "CreateRecoveryPlanInputProperties": { - "description": "Recovery plan creation properties.", - "required": [ - "primaryFabricId", - "recoveryFabricId", - "groups" - ], + "FabricProperties": { + "description": "Fabric properties.", "type": "object", "properties": { - "primaryFabricId": { - "description": "The primary fabric Id.", + "friendlyName": { + "description": "Friendly name of the fabric.", "type": "string" }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Encryption details for the fabric." + }, + "rolloverEncryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Rollover encryption details for the fabric." + }, + "internalIdentifier": { + "description": "Dra Registration Id.", "type": "string" }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", - "enum": [ - "NotApplicable", - "Classic", - "ResourceManager" - ], - "type": "string", - "x-ms-enum": { - "name": "FailoverDeploymentModel", - "modelAsString": false - } + "bcdrState": { + "description": "BCDR state of the fabric.", + "type": "string" }, - "groups": { - "description": "The recovery plan groups.", + "customDetails": { + "$ref": "#/definitions/FabricSpecificDetails", + "description": "Fabric specific settings." + }, + "healthErrorDetails": { + "description": "Fabric health error details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "$ref": "#/definitions/HealthError" } + }, + "health": { + "description": "Health of fabric.", + "type": "string" } } }, - "UpdateRecoveryPlanInput": { - "description": "Update recovery plan input class.", + "FabricReplicationGroupTaskDetails": { + "description": "This class represents the fabric replication group task details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", - "description": "Recovery plan update properties." + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } - } + }, + "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" }, - "UpdateRecoveryPlanInputProperties": { - "description": "Recovery plan updation properties.", + "FabricSpecificCreateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", "type": "object", "properties": { - "groups": { - "description": "The recovery plan groups.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanGroup" - } + "instanceType": { + "description": "The instance type.", + "type": "string" } - } + }, + "discriminator": "instanceType" }, - "RecoveryPlanPlannedFailoverInput": { - "description": "Recovery plan planned failover input.", - "required": [ - "properties" - ], + "FabricSpecificCreationInput": { + "description": "Fabric provider specific settings.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", - "description": "The recovery plan planned failover input properties." + "instanceType": { + "description": "Gets the class type.", + "type": "string", + "readOnly": true } - } + }, + "discriminator": "instanceType" }, - "RecoveryPlanPlannedFailoverInputProperties": { - "description": "Recovery plan planned failover input properties.", - "required": [ - "failoverDirection" - ], + "FabricSpecificDetails": { + "description": "Fabric specific details.", "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + "readOnly": true } - } + }, + "discriminator": "instanceType" }, - "RecoveryPlanProviderSpecificFailoverInput": { - "description": "Recovery plan provider specific failover input base class.", + "FabricSpecificUpdateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", "type": "object", "properties": { "instanceType": { - "description": "The class type.", + "description": "The instance type.", "type": "string" } }, "discriminator": "instanceType" }, - "RecoveryPlanUnplannedFailoverInput": { - "description": "Recovery plan unplanned failover input.", - "required": [ - "properties" - ], + "FailoverJobDetails": { + "description": "This class represents the details for a failover job.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", - "description": "The recovery plan unplanned failover input properties." + "allOf": [ + { + "$ref": "#/definitions/JobDetails" } - } - }, - "RecoveryPlanUnplannedFailoverInputProperties": { - "description": "Recovery plan unplanned failover input properties.", - "required": [ - "failoverDirection", - "sourceSiteOperations" ], - "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "sourceSiteOperations": { - "description": "A value indicating whether source site operations are required.", - "enum": [ - "Required", - "NotRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "SourceSiteOperations", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", + "protectedItemDetails": { + "description": "The test VM details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" } } - } + }, + "x-ms-discriminator-value": "FailoverJobDetails" }, - "RecoveryPlanTestFailoverInput": { - "description": "Recovery plan test failover input.", - "required": [ - "properties" - ], + "FailoverProcessServerRequest": { + "description": "Request to failover a process server.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", - "description": "The recovery plan test failover input properties." + "$ref": "#/definitions/FailoverProcessServerRequestProperties", + "description": "The properties of the PS Failover request." } } }, - "RecoveryPlanTestFailoverInputProperties": { - "description": "Recovery plan test failover input properties.", - "required": [ - "failoverDirection", - "networkType" - ], + "FailoverProcessServerRequestProperties": { + "description": "The properties of the Failover Process Server request.", "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "networkType": { - "description": "The network type to be used for test failover.", + "containerName": { + "description": "The container identifier.", "type": "string" }, - "networkId": { - "description": "The Id of the network to be used for test failover.", + "sourceProcessServerId": { + "description": "The source process server.", "type": "string" }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", + "targetProcessServerId": { + "description": "The new process server.", "type": "string" }, - "providerSpecificDetails": { - "description": "The provider specific properties.", + "vmsToMigrate": { + "description": "The VMS to migrate.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "type": "string" } - } - } - }, - "RecoveryPlanTestFailoverCleanupInput": { - "description": "Recovery plan test failover cleanup input.", - "required": [ - "properties" - ], - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", - "description": "The recovery plan test failover cleanup input properties." - } - } - }, - "RecoveryPlanTestFailoverCleanupInputProperties": { - "description": "Recovery plan test failover cleanup input properties.", - "type": "object", - "properties": { - "comments": { - "description": "The test failover cleanup comments.", + }, + "updateType": { + "description": "A value for failover type. It can be systemlevel/serverlevel", "type": "string" } } }, - "RecoveryPointCollection": { - "description": "Collection of recovery point details.", + "FailoverReplicationProtectedItemDetails": { + "description": "Failover details for a replication protected item.", "type": "object", "properties": { - "value": { - "description": "The recovery point details.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPoint" - } + "name": { + "description": "The name.", + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "friendlyName": { + "description": "The friendly name.", "type": "string" - } - } - }, - "RecoveryPoint": { - "description": "Base class representing a recovery point.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Recovery point related data." - } - } - }, - "RecoveryPointProperties": { - "description": "Recovery point properties.", - "type": "object", - "properties": { - "recoveryPointTime": { - "format": "date-time", - "description": "The recovery point time.", + }, + "testVmName": { + "description": "The test Vm name.", "type": "string" }, - "recoveryPointType": { - "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", + "testVmFriendlyName": { + "description": "The test Vm friendly name.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", - "description": "The provider specific details for the recovery point." + "networkConnectionStatus": { + "description": "The network connection status.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The network friendly name.", + "type": "string" + }, + "subnet": { + "description": "The network subnet.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" } } }, - "ProviderSpecificRecoveryPointDetails": { - "description": "Replication provider specific recovery point details.", + "GroupTaskDetails": { + "description": "This class represents the group task details when parent child relationship exists in the drill down.", "type": "object", "properties": { "instanceType": { - "description": "Gets the provider type.", - "type": "string", - "readOnly": true + "description": "The type of task details.", + "type": "string" + }, + "childTasks": { + "description": "The child tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } } }, "discriminator": "instanceType" }, - "RecoveryServicesProviderCollection": { - "description": "Collection of providers.", + "HealthError": { + "description": "Health Error", "type": "object", "properties": { - "value": { - "description": "The Servers details.", + "innerHealthErrors": { + "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/InnerHealthError" } }, - "nextLink": { - "description": "The value of next link.", + "errorSource": { + "description": "Source of error.", "type": "string" - } - } - }, - "RecoveryServicesProvider": { - "description": "Provider details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryServicesProviderProperties", - "description": "Provider properties." - } - } - }, - "RecoveryServicesProviderProperties": { - "description": "Recovery services provider properties.", - "type": "object", - "properties": { - "fabricType": { - "description": "Type of the site.", + }, + "errorType": { + "description": "Type of error.", "type": "string" }, - "friendlyName": { - "description": "Friendly name of the DRA.", + "errorLevel": { + "description": "Level of error.", "type": "string" }, - "providerVersion": { - "description": "The provider version.", + "errorCategory": { + "description": "Category of error.", "type": "string" }, - "serverVersion": { - "description": "The fabric provider.", + "errorCode": { + "description": "Error code.", "type": "string" }, - "providerVersionState": { - "description": "DRA version status.", + "summaryMessage": { + "description": "Summary message of the entity.", "type": "string" }, - "providerVersionExpiryDate": { - "format": "date-time", - "description": "Expiry date of the version.", + "errorMessage": { + "description": "Error message.", "type": "string" }, - "fabricFriendlyName": { - "description": "The fabric friendly name.", + "possibleCauses": { + "description": "Possible causes of error.", "type": "string" }, - "lastHeartBeat": { - "format": "date-time", - "description": "Time when last heartbeat was sent by the DRA.", + "recommendedAction": { + "description": "Recommended action to resolve error.", "type": "string" }, - "connectionStatus": { - "description": "A value indicating whether DRA is responsive.", + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", "type": "string" }, - "protectedItemCount": { - "format": "int32", - "description": "Number of protected VMs currently managed by the DRA.", - "type": "integer" - }, - "allowedScenarios": { - "description": "The scenarios allowed on this provider.", - "type": "array", - "items": { - "type": "string" - } - }, - "healthErrorDetails": { - "description": "The recovery services provider health error details.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "draIdentifier": { - "description": "The DRA Id.", + "recoveryProviderErrorMessage": { + "description": "DRA error message.", "type": "string" }, - "identityDetails": { - "$ref": "#/definitions/IdentityInformation", - "description": "The identity details." - }, - "providerVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The provider version details." + "entityId": { + "description": "ID of the entity.", + "type": "string" } } }, - "IdentityInformation": { - "description": "Identity details.", + "HealthErrorSummary": { + "description": "class to define the summary of the health error details.", "type": "object", "properties": { - "identityProviderType": { - "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.", + "summaryCode": { + "description": "The code of the health error.", + "type": "string" + }, + "category": { + "description": "The category of the health error.", "enum": [ - "RecoveryServicesActiveDirectory" + "None", + "Replication", + "TestFailover", + "Configuration", + "FabricInfrastructure", + "VersionExpiry" ], "type": "string", "x-ms-enum": { - "name": "IdentityProviderType", + "name": "HealthErrorCategory", "modelAsString": false } }, - "tenantId": { - "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "severity": { + "description": "Severity of error.", + "enum": [ + "NONE", + "Warning", + "Error", + "Info" + ], + "type": "string", + "x-ms-enum": { + "name": "Severity", + "modelAsString": false + } + }, + "summaryMessage": { + "description": "The summary message of the health error.", "type": "string" }, - "applicationId": { - "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "affectedResourceType": { + "description": "The type of affected ARM resource.", "type": "string" }, - "objectId": { - "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "affectedResourceSubtype": { + "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", "type": "string" }, - "audience": { - "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "affectedResourceCorrelationIds": { + "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HyperVReplica2012EventDetails": { + "description": "Model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", "type": "string" }, - "aadAuthority": { - "description": "The base authority for Azure Active Directory authentication.", + "fabricName": { + "description": "The fabric friendly name.", "type": "string" }, - "certificateThumbprint": { - "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.", + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplica2012" }, - "VersionDetails": { - "description": "Version related deatils.", + "HyperVReplica2012R2EventDetails": { + "description": "Model class for event details of a HyperVReplica blue E2E event.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], "properties": { - "version": { - "description": "The agent version.", + "containerName": { + "description": "The container friendly name.", "type": "string" }, - "expiryDate": { - "format": "date-time", - "description": "Version expiry date.", + "fabricName": { + "description": "The fabric friendly name.", "type": "string" }, - "status": { - "description": "A value indicating whether security update required.", - "enum": [ - "Supported", - "NotSupported", - "Deprecated", - "UpdateRequired", - "SecurityUpdateRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "AgentVersionStatus", - "modelAsString": false - } + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "ReplicationProtectedItem": { - "description": "Replication protected item.", + "HyperVReplicaAzureApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/ReplicationProtectedItemProperties", - "description": "The custom data." + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "The primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary kek certificate pfx.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "ReplicationProtectedItemProperties": { - "description": "Replication protected item custom data details.", + "HyperVReplicaAzureEnableProtectionInput": { + "description": "Azure specific enable protection input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], "properties": { - "friendlyName": { - "description": "The name.", + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", "type": "string" }, - "protectedItemType": { - "description": "The type of protected item type.", + "vmName": { + "description": "The Vm Name.", "type": "string" }, - "protectableItemId": { - "description": "The protected item ARM Id.", + "osType": { + "description": "The OS type associated with vm.", "type": "string" }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", + "vhdId": { + "description": "The OS disk VHD id associated with vm.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The friendly name of the primary fabric.", + "targetStorageAccountId": { + "description": "The storage account name.", "type": "string" }, - "primaryFabricProvider": { - "description": "The fabric provider of the primary fabric.", + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The friendly name of recovery fabric.", + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", "type": "string" }, - "recoveryFabricId": { - "description": "The Arm Id of recovery fabric.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" }, - "primaryProtectionContainerFriendlyName": { - "description": "The name of primary protection container friendly name.", - "type": "string" - }, - "recoveryProtectionContainerFriendlyName": { - "description": "The name of recovery container friendly name.", - "type": "string" - }, - "protectionState": { - "description": "The protection status.", - "type": "string" - }, - "protectionStateDescription": { - "description": "The protection state description.", - "type": "string" - }, - "activeLocation": { - "description": "The Current active location of the PE.", - "type": "string" - }, - "testFailoverState": { - "description": "The Test failover state.", + "targetAzureVmName": { + "description": "The target azure Vm Name.", "type": "string" }, - "testFailoverStateDescription": { - "description": "The Test failover state description.", + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", "type": "string" }, - "allowedOperations": { - "description": "The allowed operations on the Replication protected item.", + "disksToInclude": { + "description": "The list of VHD IDs of disks to be protected.", "type": "array", "items": { "type": "string" } }, - "replicationHealth": { - "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", - "type": "string" - }, - "failoverHealth": { - "description": "The consolidated failover health for the VM.", - "type": "string" - }, - "healthErrors": { - "description": "List of health errors.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "policyId": { - "description": "The ID of Policy governing this PE.", - "type": "string" - }, - "policyFriendlyName": { - "description": "The name of Policy governing this PE.", - "type": "string" - }, - "lastSuccessfulFailoverTime": { - "format": "date-time", - "description": "The Last successful failover time.", - "type": "string" - }, - "lastSuccessfulTestFailoverTime": { - "format": "date-time", - "description": "The Last successful test failover time.", + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", "type": "string" }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario." - }, - "failoverRecoveryPointId": { - "description": "The recovery point ARM Id to which the Vm was failed over.", + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReplicationProviderSpecificSettings", - "description": "The Replication provider custom settings." - }, - "recoveryContainerId": { - "description": "The recovery container Id.", + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "CurrentScenarioDetails": { - "description": "Current scenario details of the protected entity.", + "HyperVReplicaAzureEventDetails": { + "description": "Model class for event details of a HyperVReplica E2A event.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], "properties": { - "scenarioName": { - "description": "Scenario name.", + "containerName": { + "description": "The container friendly name.", "type": "string" }, - "jobId": { - "description": "ARM Id of the job being executed.", + "fabricName": { + "description": "The fabric friendly name.", "type": "string" }, - "startTime": { - "format": "date-time", - "description": "Start time of the workflow.", + "remoteContainerName": { + "description": "The remote container name.", "type": "string" } - } - }, - "ReplicationProviderSpecificSettings": { - "description": "Replication provider specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true - } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "EnableProtectionInput": { - "description": "Enable protection input.", + "HyperVReplicaAzureFailbackProviderInput": { + "description": "HvrA provider specific input for failback.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/EnableProtectionInputProperties", - "description": "Enable protection input properties." + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" } - } - }, - "EnableProtectionInputProperties": { - "description": "Enable protection input properties.", - "type": "object", + ], "properties": { - "policyId": { - "description": "The Policy Id.", + "dataSyncOption": { + "description": "Data sync option.", "type": "string" }, - "protectableItemId": { - "description": "The protectable item Id.", + "recoveryVmCreationOption": { + "description": "ALR options to create alternate recovery.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput", - "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." - } - } - }, - "EnableProtectionProviderSpecificInput": { - "description": "Enable protection provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + "providerIdForAlternateRecovery": { + "description": "Provider ID for alternate location", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" }, - "UpdateReplicationProtectedItemInput": { - "description": "Update replication protected item input.", + "HyperVReplicaAzureFailoverProviderInput": { + "description": "HvrA provider specific input for failover.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", - "description": "Update replication protected item properties." + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" } - } - }, - "UpdateReplicationProtectedItemInputProperties": { - "description": "Update protected item input properties.", - "type": "object", + ], "properties": { - "recoveryAzureVMName": { - "description": "Target azure VM name given by the user.", + "vaultLocation": { + "description": "Location of the vault.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "Target Azure Vm size.", + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", "type": "string" }, - "selectedRecoveryAzureNetworkId": { - "description": "Target Azure Network Id.", + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", "type": "string" }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyDetails": { + "description": "Hyper-V Replica Azure specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryDurationInHours": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" }, - "vmNics": { - "description": "The list of vm nic details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicInputDetails" - } + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" }, - "licenseType": { - "description": "License type.", - "enum": [ - "NotSpecified", - "NoLicenseType", - "WindowsServer" - ], - "type": "string", - "x-ms-enum": { - "name": "LicenseType", - "modelAsString": false - } + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The target availability set id.", + "encryption": { + "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", - "description": "The provider specific input to update replication protected item." + "activeStorageAccountId": { + "description": "The active storage account Id.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "VMNicInputDetails": { - "description": "Hyper V VM network input details.", + "HyperVReplicaAzurePolicyInput": { + "description": "Hyper-V Replica Azure specific input for creating a protection profile.", "type": "object", - "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", - "type": "string" - }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", - "type": "string" - }, - "selectionType": { - "description": "Selection type for failover.", - "type": "string" - } - } - }, - "UpdateReplicationProtectedItemProviderInput": { - "description": "Update replication protected item provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "DisableProtectionInput": { - "description": "Disable protection input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/DisableProtectionInputProperties", - "description": "Disable protection input properties." - } - } - }, - "DisableProtectionInputProperties": { - "description": "Disable protection input properties.", - "type": "object", - "properties": { - "disableProtectionReason": { - "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", - "enum": [ - "NotSpecified", - "MigrationComplete" - ], - "type": "string", - "x-ms-enum": { - "name": "DisableProtectionReason", - "modelAsString": false - } - }, - "replicationProviderInput": { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput", - "description": "Replication provider specific input." - } - } - }, - "DisableProtectionProviderSpecificInput": { - "description": "Disable protection provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "PlannedFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/PlannedFailoverInputProperties", - "description": "Planned failover input properties" - } - } - }, - "PlannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" - } - } - }, - "ProviderSpecificFailoverInput": { - "description": "Provider specific failover input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UnplannedFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UnplannedFailoverInputProperties", - "description": "Planned failover input properties" - } - } - }, - "UnplannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" - }, - "sourceSiteOperations": { - "description": "Source site operations status", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" - } - } - }, - "TestFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverInputProperties", - "description": "Planned failover input properties" - } - } - }, - "TestFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" - }, - "networkType": { - "description": "Network type to be used for test failover.", - "type": "string" - }, - "networkId": { - "description": "The id of the network to be used for test failover", - "type": "string" - }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" } - } - }, - "TestFailoverCleanupInput": { - "description": "Input definition for test failover cleanup.", - "required": [ - "properties" ], - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverCleanupInputProperties", - "description": "Test failover cleanup input properties." - } - } - }, - "TestFailoverCleanupInputProperties": { - "description": "Input definition for test failover cleanup input properties.", - "type": "object", - "properties": { - "comments": { - "description": "Test failover cleanup comments.", - "type": "string" - } - } - }, - "ReverseReplicationInput": { - "description": "Reverse replication input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ReverseReplicationInputProperties", - "description": "Reverse replication properties" - } - } - }, - "ReverseReplicationInputProperties": { - "description": "Reverse replication input properties.", - "type": "object", "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" + "recoveryPointHistoryDuration": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", - "description": "Provider specific reverse replication input." - } - } - }, - "ReverseReplicationProviderSpecificInput": { - "description": "Provider specific reverse replication input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UpdateMobilityServiceRequest": { - "description": "Request to update the mobility service on a protected item.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", - "description": "The properties of the update mobility service request." - } - } - }, - "UpdateMobilityServiceRequestProperties": { - "description": "The properties of an update mobility service request.", - "type": "object", - "properties": { - "runAsAccountId": { - "description": "The CS run as account Id.", - "type": "string" - } - } - }, - "ApplyRecoveryPointInput": { - "description": "Input to apply recovery point.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ApplyRecoveryPointInputProperties", - "description": "The input properties to apply recovery point." - } - } - }, - "ApplyRecoveryPointInputProperties": { - "description": "Input properties to apply recovery point.", - "type": "object", - "properties": { - "recoveryPointId": { - "description": "The recovery point Id.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", - "description": "Provider specific input for applying recovery point." - } - } - }, - "ApplyRecoveryPointProviderSpecificInput": { - "description": "Provider specific input for apply recovery point.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "StorageClassificationCollection": { - "description": "Collection of storage details.", - "type": "object", - "properties": { - "value": { - "description": "The storage details.", - "type": "array", - "items": { - "$ref": "#/definitions/StorageClassification" - } + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "StorageClassification": { - "description": "Storage object definition.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/StorageClassificationProperties", - "description": "Proprties of the storage object." - } - } - }, - "StorageClassificationProperties": { - "description": "Storage object properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the Storage classification.", + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", "type": "string" - } - } - }, - "StorageClassificationMappingCollection": { - "description": "Collection of storage mapping details.", - "type": "object", - "properties": { - "value": { - "description": "The storage details.", + }, + "storageAccounts": { + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", "type": "array", "items": { - "$ref": "#/definitions/StorageClassificationMapping" + "type": "string" } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "StorageClassificationMapping": { - "description": "Storage mapping object.", + "HyperVReplicaAzureReplicationDetails": { + "description": "Hyper V Replica Azure provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "properties": { - "$ref": "#/definitions/StorageClassificationMappingProperties", - "description": "Proprties of the storage mappping object." - } - } - }, - "StorageClassificationMappingProperties": { - "description": "Storage mapping properties.", - "type": "object", - "properties": { - "targetStorageClassificationId": { - "description": "Target storage object Id.", - "type": "string" - } - } - }, - "StorageClassificationMappingInput": { - "description": "Storage mapping input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/StorageMappingInputProperties", - "description": "Storage mapping input properties." - } - } - }, - "StorageMappingInputProperties": { - "description": "Storage mapping input properties.", - "type": "object", - "properties": { - "targetStorageClassificationId": { - "description": "The ID of the storage object.", - "type": "string" - } - } - }, - "VCenterCollection": { - "description": "Collection of vCenter details.", - "type": "object", - "properties": { - "value": { - "description": "The vCenter details.", + "azureVmDiskDetails": { + "description": "Azure VM Disk details.", "type": "array", "items": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/AzureVmDiskDetails" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "VCenter": { - "description": "vCenter definition.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/VCenterProperties", - "description": "VCenter related data." - } - } - }, - "VCenterProperties": { - "description": "vCenter properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the vCenter.", - "type": "string" - }, - "internalId": { - "description": "VCenter internal ID.", + "recoveryAzureVmName": { + "description": "Recovery Azure given name.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The time when the last heartbeat was reveived by vCenter.", + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", "type": "string" }, - "discoveryStatus": { - "description": "The VCenter discovery status.", + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", "type": "string" }, - "processServerId": { - "description": "The process server Id.", + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the vCenter.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "infrastructureId": { - "description": "The infrastructure Id of vCenter.", + "rpoInSeconds": { + "format": "int64", + "description": "Last RPO value.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "fabricArmResourceName": { - "description": "The ARM resource name of the fabric containing this VCenter.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "healthErrors": { - "description": "The health errors for this VCenter.", + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vmNics": { + "description": "The PE Network details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/VMNicDetails" } - } - } - }, - "AddVCenterRequest": { - "description": "Input required to add vCenter.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/AddVCenterRequestProperties", - "description": "The properties of an add vCenter request." - } - } - }, - "AddVCenterRequestProperties": { - "description": "The properties of an add vCenter request.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The friendly name of the vCenter.", - "type": "string" }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", "type": "string" }, - "processServerId": { - "description": "The process server Id from where the discovery is orchestrated.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "encryption": { + "description": "The encryption info.", "type": "string" }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", - "type": "string" - } - } - }, - "UpdateVCenterRequest": { - "description": "Input required to update vCenter.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateVCenterRequestProperties", - "description": "The update VCenter Request Properties." - } - } - }, - "UpdateVCenterRequestProperties": { - "description": "The properties of an update vCenter request.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The friendly name of the vCenter.", - "type": "string" + "oSDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The operating system info." }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", - "type": "string" + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" }, - "processServerId": { - "description": "The process server Id from where the update can be orchestrated.", + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id which has priviliges to update the vCenter.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", "type": "string" - } - } - }, - "RenewCertificateInput": { - "description": "Certificate renewal input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RenewCertificateInputProperties", - "description": "Renew certificate input properties." - } - } - }, - "RenewCertificateInputProperties": { - "description": "Renew Certificate input properties.", - "type": "object", - "properties": { - "renewCertificateType": { - "description": "Renew certificate type.", + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" - } - } - }, - "NetworkMappingCollection": { - "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", - "type": "object", - "properties": { - "value": { - "description": "The Network Mappings list.", - "type": "array", - "items": { - "$ref": "#/definitions/NetworkMapping" - } }, - "nextLink": { - "description": "The value of next link.", + "licenseType": { + "description": "License Type of the VM to be used.", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "VaultHealthDetails": { - "description": "Vault health details definition.", + "HyperVReplicaAzureReprotectInput": { + "description": "Azure specific reprotect input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/VaultHealthProperties", - "description": "The vault health related data." - } - } - }, - "VaultHealthProperties": { - "description": "class to define the health summary of the Vault.", - "type": "object", - "properties": { - "vaultErrors": { - "description": "The list of errors on the vault.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - }, - "protectedItemsHealth": { - "$ref": "#/definitions/ResourceHealthSummary", - "description": "The list of the health detail of the protected items in the vault." - }, - "fabricsHealth": { - "$ref": "#/definitions/ResourceHealthSummary", - "description": "The list of the health detail of the fabrics in the vault." - } - } - }, - "ResourceHealthSummary": { - "description": "Base class to define the health summary of the resources contained under an Arm resource.", - "type": "object", - "properties": { - "resourceCount": { - "format": "int32", - "description": "The count of total resources umder the container.", - "type": "integer" - }, - "issues": { - "description": "The list of summary of health errors across the resources under the container.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthErrorSummary" - } - } - } - }, - "HealthErrorSummary": { - "description": "class to define the summary of the health error details.", - "type": "object", - "properties": { - "summaryCode": { - "description": "The code of the health error.", + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", "type": "string" }, - "category": { - "description": "The category of the health error.", - "enum": [ - "None", - "Replication", - "TestFailover", - "Configuration", - "FabricInfrastructure", - "VersionExpiry" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthErrorCategory", - "modelAsString": false - } - }, - "severity": { - "description": "Severity of error.", - "enum": [ - "NONE", - "Warning", - "Error", - "Info" - ], - "type": "string", - "x-ms-enum": { - "name": "Severity", - "modelAsString": false - } - }, - "summaryMessage": { - "description": "The summary message of the health error.", + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", "type": "string" }, - "affectedResourceType": { - "description": "The type of affected ARM resource.", + "vHDId": { + "description": "The OS disk VHD id associated with vm.", "type": "string" }, - "affectedResourceSubtype": { - "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", + "storageAccountId": { + "description": "The storage account name.", "type": "string" }, - "affectedResourceCorrelationIds": { - "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", - "type": "array", - "items": { - "type": "string" - } + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "EventCollection": { - "description": "Collection of fabric details.", + "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { + "description": "HyperV replica Azure input to update replication protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], "properties": { - "value": { - "description": "The list of events.", - "type": "array", - "items": { - "$ref": "#/definitions/Event" - } + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "Event": { - "description": "Implements the Event class.", + "HyperVReplicaBaseEventDetails": { + "description": "Abstract model class for event details of a HyperVReplica E2E event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/EventProperties", - "description": "Event related data." + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" }, - "EventProperties": { - "description": "The properties of a monitoring event.", + "HyperVReplicaBasePolicyDetails": { + "description": "Base class for HyperVReplica policy details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], "properties": { - "eventCode": { - "description": "The Id of the monitoring event.", - "type": "string" + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" }, - "description": { - "description": "The event name.", - "type": "string" + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" }, - "eventType": { - "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "affectedObjectFriendlyName": { - "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "severity": { - "description": "The severity of the event.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "timeOfOccurrence": { - "format": "date-time", - "description": "The time of occurence of the event.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "fabricId": { - "description": "The ARM ID of the fabric.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/EventProviderSpecificDetails", - "description": "The provider specific settings." + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" }, - "eventSpecificDetails": { - "$ref": "#/definitions/EventSpecificDetails", - "description": "The event specific settings." + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" }, - "healthErrors": { - "description": "The list of errors / warnings capturing details associated with the issue(s).", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - } - } - }, - "EventProviderSpecificDetails": { - "description": "Model class for provider specific details for an event.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" }, - "EventSpecificDetails": { - "description": "Model class for event specific details for an event.", + "HyperVReplicaBaseReplicationDetails": { + "description": "Hyper V replica provider specific settings base class.", "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } - }, - "discriminator": "instanceType" - }, - "EventQueryParameter": { - "description": "Implements the event query parameter.", - "type": "object", + ], "properties": { - "eventCode": { - "description": "The source id of the events to be queried.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "severity": { - "description": "The severity of the events to be queried.", - "type": "string" + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } }, - "eventType": { - "description": "The type of the events to be queried.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "fabricName": { - "description": "The affected object server id of the events to be queried.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "affectedObjectFriendlyName": { - "description": "The affected object name of the events to be queried.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" }, - "startTime": { - "format": "date-time", - "description": "The start time of the time range within which the events are to be queried.", - "type": "string" + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." }, - "endTime": { - "format": "date-time", - "description": "The end time of the time range within which the events are to be queried.", - "type": "string" - } - } - }, - "ProtectionContainerMappingCollection": { - "description": "Protection container mapping collection class.", - "type": "object", - "properties": { - "value": { - "description": "List of container mappings.", + "vMDiskDetails": { + "description": "VM disk details.", "type": "array", "items": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/DiskDetails" } - }, - "nextLink": { - "description": "Link to fetch rest of the data.", - "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" }, - "ReplicationProtectedItemCollection": { - "description": "Replication protected item collection.", + "HyperVReplicaBluePolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], "properties": { - "value": { - "description": "The Replication protected item details.", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicationProtectedItem" - } + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" }, - "nextLink": { - "description": "The value of next link.", + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" - } - } - }, - "ProtectedItemsQueryParameter": { - "description": "Query parameter to enumerate protected items.", - "type": "object", - "properties": { - "sourceFabricName": { - "description": "The source fabric name filter.", + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "recoveryPlanName": { - "description": "The recovery plan filter.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "vCenterName": { - "description": "The vCenter name filter.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "instanceType": { - "description": "The replication provider type.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "multiVmGroupCreateOption": { - "description": "Whether Multi VM group is auto created or specified by user.", - "enum": [ - "AutoCreated", - "UserSpecified" - ], - "type": "string", - "x-ms-enum": { - "name": "MultiVmGroupCreateOption", - "modelAsString": false - } - } - } - }, - "TargetComputeSizeCollection": { - "description": "Target compute size collection.", - "type": "object", - "properties": { - "value": { - "description": "The list of target compute sizes.", - "type": "array", - "items": { - "$ref": "#/definitions/TargetComputeSize" - } + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" }, - "nextLink": { - "description": "The value of next link.", + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", "type": "string" } - } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "TargetComputeSize": { - "description": "Represents applicable recovery vm sizes.", + "HyperVReplicaBluePolicyInput": { + "description": "HyperV Replica Blue policy input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], "properties": { - "id": { - "description": "The Id.", + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "name": { - "description": "The name.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "type": { - "description": "The Type of the object.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "properties": { - "$ref": "#/definitions/TargetComputeSizeProperties", - "description": "The custom data." - } - } - }, - "TargetComputeSizeProperties": { - "description": "Represents applicable recovery vm sizes properties.", - "type": "object", - "properties": { - "name": { - "description": "Target compute size name.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", "type": "string" }, - "friendlyName": { - "description": "Target compute size display name.", + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", "type": "string" }, - "cpuCoresCount": { + "replicationPort": { "format": "int32", - "description": "The maximum cpu cores count supported by target compute size.", + "description": "A value indicating the recovery HTTPS port.", "type": "integer" }, - "memoryInGB": { - "format": "double", - "description": "The maximum memory in GB supported by target compute size.", - "type": "number" - }, - "maxDataDiskCount": { + "allowedAuthenticationType": { "format": "int32", - "description": "The maximum data disks count supported by target compute size.", + "description": "A value indicating the authentication type.", "type": "integer" }, - "maxNicsCount": { - "format": "int32", - "description": "The maximum Nics count supported by target compute size.", - "type": "integer" + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBlueReplicationDetails": { + "description": "HyperV replica 2012 R2 (Blue) replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" }, - "errors": { - "description": "The reasons why the target compute size is not applicable for the protected item.", + "vmNics": { + "description": "The PE Network details.", "type": "array", "items": { - "$ref": "#/definitions/ComputeSizeErrorDetails" + "$ref": "#/definitions/VMNicDetails" } }, - "highIopsSupported": { - "description": "The value indicating whether the target compute size supports high Iops.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" - } - } - }, - "ComputeSizeErrorDetails": { - "description": "Represents the error used to indicate why the target compute size is not applicable.", - "type": "object", - "properties": { - "message": { - "description": "The error message.", + }, + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "severity": { - "description": "The severity of the error.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } } - } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" }, - "HyperVReplicaBaseEventDetails": { - "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "HyperVReplicaPolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "containerName": { - "description": "The container friendly name.", + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + "x-ms-discriminator-value": "HyperVReplica2012" }, - "HyperVReplica2012EventDetails": { - "description": "Model class for event details of a HyperVReplica E2E event.", + "HyperVReplicaPolicyInput": { + "description": "Hyper-V Replica specific policy Input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "containerName": { - "description": "The container friendly name.", + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", "type": "string" } }, "x-ms-discriminator-value": "HyperVReplica2012" }, - "HyperVReplica2012R2EventDetails": { - "description": "Model class for event details of a HyperVReplica blue E2E event.", + "HyperVReplicaReplicationDetails": { + "description": "HyperV replica 2012 replication details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "containerName": { - "description": "The container friendly name.", + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "vmProtectionState": { + "description": "The protection state for the vm.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } } }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + "x-ms-discriminator-value": "HyperVReplica2012" }, - "HyperVReplicaAzureEventDetails": { - "description": "Model class for event details of a HyperVReplica E2A event.", + "HyperVSiteDetails": { + "description": "HyperVSite fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "HyperVSite" + }, + "HyperVVirtualMachineDetails": { + "description": "Single Host fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" } ], "properties": { - "containerName": { - "description": "The container friendly name.", + "sourceItemId": { + "description": "The source id of the object.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "generation": { + "description": "The id of the object in fabric.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", - "type": "string" + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "x-ms-discriminator-value": "HyperVVirtualMachine" }, - "A2AEventDetails": { - "description": "Model class for event details of a A2A event.", + "IdentityInformation": { + "description": "Identity details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" - } - ], "properties": { - "protectedItemName": { - "description": "The protected item arm name.", + "identityProviderType": { + "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.", + "enum": [ + "RecoveryServicesActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityProviderType", + "modelAsString": false + } + }, + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "fabricObjectId": { - "description": "The azure vm arm id.", + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "fabricName": { - "description": "Fabric arm name.", + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", "type": "string" }, - "remoteFabricName": { - "description": "Remote fabric arm name.", + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", "type": "string" }, - "remoteFabricLocation": { - "description": "Remote fabric location.", + "certificateThumbprint": { + "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "InMageAzureV2EventDetails": { - "description": "Model class for event details of a VMwareAzureV2 event.", + "InconsistentVmDetails": { + "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", + "type": "object", + "properties": { + "vmName": { + "description": "The Vm name.", + "type": "string" + }, + "cloudName": { + "description": "The Cloud name.", + "type": "string" + }, + "details": { + "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", + "type": "array", + "items": { + "type": "string" + } + }, + "errorIds": { + "description": "The list of error ids.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InitialReplicationDetails": { + "description": "Initial replication details.", + "type": "object", + "properties": { + "initialReplicationType": { + "description": "Initial replication type.", + "type": "string" + }, + "initialReplicationProgressPercentage": { + "description": "The initial replication progress percentage.", + "type": "string" + } + } + }, + "InlineWorkflowTaskDetails": { + "description": "This class represents the inline workflow task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/GroupTaskDetails" } ], "properties": { - "eventType": { - "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", + "workflowIds": { + "description": "The list of child workflow ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + }, + "InMageAgentDetails": { + "description": "The details of the InMage agent.", + "type": "object", + "properties": { + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "category": { - "description": "InMage Event Category.", + "agentUpdateStatus": { + "description": "A value indicating whether installed agent needs to be updated.", "type": "string" }, - "component": { - "description": "InMage Event Component.", + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", "type": "string" }, - "correctiveAction": { - "description": "Corrective Action string for the event.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" - }, - "details": { - "description": "InMage Event Details.", + } + } + }, + "InMageAgentVersionDetails": { + "description": "InMage agent version details.", + "type": "object", + "properties": { + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", "type": "string" }, - "summary": { - "description": "InMage Event Summary.", + "version": { + "description": "The agent version.", "type": "string" }, - "siteName": { - "description": "VMware Site name.", + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "JobStatusEventDetails": { - "description": "Model class for event details of a job status event.", + "InMageAzureV2ApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventSpecificDetails" + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" } ], "properties": { - "jobId": { - "description": "Job arm id for the event.", - "type": "string" - }, - "jobFriendlyName": { - "description": "JobName for the Event.", - "type": "string" - }, - "jobStatus": { - "description": "JobStatus for the Event.", - "type": "string" - }, - "affectedObjectType": { - "description": "AffectedObjectType for the event.", + "vaultLocation": { + "description": "The vault location where the recovery Vm resides.", "type": "string" } }, - "x-ms-discriminator-value": "JobStatus" + "x-ms-discriminator-value": "InMageAzureV2" }, - "HyperVReplicaAzurePolicyInput": { - "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "InMageAzureV2EnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "storageAccountId" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], "properties": { - "recoveryPointHistoryDuration": { - "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be maintained.", - "type": "integer" + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", - "type": "integer" + "processServerId": { + "description": "The Process Server Id.", + "type": "string" }, - "replicationInterval": { - "format": "int32", - "description": "The replication interval.", - "type": "integer" + "storageAccountId": { + "description": "The storage account name.", + "type": "string" }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "runAsAccountId": { + "description": "The CS account Id.", "type": "string" }, - "storageAccounts": { - "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", "type": "array", "items": { "type": "string" } - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "HyperVReplicaPolicyInput": { - "description": "Hyper-V Replica specific policy Input.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" - } - ], - "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "targetAzureVmName": { + "description": "The target azure Vm Name.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012" + "x-ms-discriminator-value": "InMageAzureV2" }, - "HyperVReplicaBluePolicyInput": { - "description": "HyperV Replica Blue policy input.", + "InMageAzureV2EventDetails": { + "description": "Model class for event details of a VMwareAzureV2 event.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/EventProviderSpecificDetails" } ], "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" - }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" - }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "eventType": { + "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "category": { + "description": "InMage Event Category.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "component": { + "description": "InMage Event Component.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "correctiveAction": { + "description": "Corrective Action string for the event.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "details": { + "description": "InMage Event Details.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "summary": { + "description": "InMage Event Summary.", + "type": "string" }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "siteName": { + "description": "VMware Site name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2FailoverProviderInput": { + "description": "InMageAzureV2 provider specific input for failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificFailoverInput" + } + ], + "properties": { + "vaultLocation": { + "description": "Location of the vault.", + "type": "string" }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + "x-ms-discriminator-value": "InMageAzureV2" }, - "InMageAzureV2PolicyInput": { - "description": "VMWare Azure specific policy Input.", - "required": [ - "multiVmSyncStatus" - ], + "InMageAzureV2PolicyDetails": { + "description": "InMage Azure v2 specific protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + }, "recoveryPointThresholdInMinutes": { "format": "int32", "description": "The recovery point threshold in minutes.", @@ -9980,33 +9444,20 @@ "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" - }, "appConsistentFrequencyInMinutes": { "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", + "description": "The app consistent snapshot frequency in minutes.", "type": "integer" }, "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" } }, "x-ms-discriminator-value": "InMageAzureV2" }, - "InMagePolicyInput": { - "description": "VMWare Azure specific protection profile Input.", + "InMageAzureV2PolicyInput": { + "description": "VMWare Azure specific policy Input.", "required": [ "multiVmSyncStatus" ], @@ -10027,6 +9478,11 @@ "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, "appConsistentFrequencyInMinutes": { "format": "int32", "description": "The app consistent snapshot frequency (in minutes).", @@ -10045,288 +9501,398 @@ } } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "InMageAzureV2" }, - "A2APolicyCreationInput": { - "description": "A2A Policy creation input.", - "required": [ - "multiVmSyncStatus" - ], + "InMageAzureV2ProtectedDiskDetails": { + "description": "InMageAzureV2 protected disk details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" - } - ], "properties": { - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", "type": "integer" }, - "crashConsistentFrequencyInMinutes": { + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", + "description": "The resync progress percentage.", "type": "integer" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", "type": "integer" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The disk file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMegaBytes": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMegaBytes": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMegaBytes": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + } + } + }, + "InMageAzureV2RecoveryPointDetails": { + "description": "InMage Azure V2 provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "InMageAzureV2" }, - "VMwareCbtPolicyCreationInput": { - "description": "VMware Cbt Policy creation input.", + "InMageAzureV2ReplicationDetails": { + "description": "InMageAzureV2 provider specific settings", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "recoveryPointHistory": { + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncProgressPercentage": { "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", + "description": "The resync progress percentage.", + "type": "integer" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", "type": "integer" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isAgentUpdateRequired": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "isRebootAfterUpdateRequired": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi vm sync is enabled or disabled.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" - } - }, - "x-ms-discriminator-value": "VMwareCbt" - }, - "HyperVReplicaAzurePolicyDetails": { - "description": "Hyper-V Replica Azure specific protection profile details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "recoveryPointHistoryDurationInHours": { - "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be maintained.", - "type": "integer" + "masterTargetId": { + "description": "The master target Id.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { + "sourceVmCpuCount": { "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "description": "The CPU count of the VM on the primary side.", "type": "integer" }, - "replicationInterval": { + "sourceVmRamSizeInMB": { "format": "int32", - "description": "The replication interval.", + "description": "The RAM size of the VM on the primary side.", "type": "integer" }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "osType": { + "description": "The type of the OS on the VM.", "type": "string" }, - "encryption": { - "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", + "vhdName": { + "description": "The OS disk VHD name.", "type": "string" }, - "activeStorageAccountId": { - "description": "The active storage account Id.", + "osDiskId": { + "description": "The id of the disk containing the OS.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "HyperVReplicaBasePolicyDetails": { - "description": "Base class for HyperVReplica policy details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "azureVMDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "recoveryAzureVMName": { + "description": "Recovery Azure given name.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" - }, - "HyperVReplicaPolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "datastores": { + "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", + "type": "array", + "items": { + "type": "string" + } }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "targetVmId": { + "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "licenseType": { + "description": "License Type of the VM to be used.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012" + "x-ms-discriminator-value": "InMageAzureV2" }, - "HyperVReplicaBluePolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", + "InMageAzureV2ReprotectInput": { + "description": "InMageAzureV2 specific provider input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" } ], "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" + "processServerId": { + "description": "The Process Server Id.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "storageAccountId": { + "description": "The storage account id.", + "type": "string" }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "runAsAccountId": { + "description": "The CS account Id.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "policyId": { + "description": "The Policy Id.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" - }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" - }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + "x-ms-discriminator-value": "InMageAzureV2" }, "InMageBasePolicyDetails": { "description": "Base class for the policies of providers using InMage replication.", @@ -10359,155 +9925,178 @@ }, "x-ms-discriminator-value": "InMageBasePolicyDetails" }, - "InMageAzureV2PolicyDetails": { - "description": "InMage Azure v2 specific protection profile details.", + "InMageDisableProtectionProviderSpecificInput": { + "description": "InMage disable protection provider specific input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/DisableProtectionProviderSpecificInput" } ], "properties": { - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "replicaVmDeletionStatus": { + "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageDiskDetails": { + "description": "VMware/Physical specific Disk Details", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" }, - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "diskName": { + "description": "The disk name.", + "type": "string" }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" + "diskSizeInMB": { + "description": "The disk size in MB.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "diskType": { + "description": "Whether disk is system disk or data disk.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "diskConfiguration": { + "description": "Whether disk is dynamic disk or basic disk.", "type": "string" + }, + "volumeList": { + "description": "Volumes of the disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskVolumeDetails" + } } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMagePolicyDetails": { - "description": "InMage specific protection profile details.", + "InMageDiskExclusionInput": { + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "volumeOptions": { + "description": "The volume label based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "diskSignatureOptions": { + "description": "The guest disk signature based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + } + } + }, + "InMageDiskSignatureExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "diskSignature": { + "description": "The guest signature of disk to be excluded from replication.", "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, - "A2APolicyDetails": { - "description": "A2A specific policy details.", + "InMageEnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "multiVmGroupId", + "multiVmGroupName" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "vmFriendlyName": { + "description": "The Vm Name.", + "type": "string" }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "processServerId": { + "description": "The Process Server Id.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "retentionDrive": { + "description": "The retention drive to use on the MT.", "type": "string" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "InMage" }, - "RcmAzureMigrationPolicyDetails": { - "description": "RCM based Azure migration specific policy details.", + "InMageFailoverProviderInput": { + "description": "Provider specific input for InMage failover.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/ProviderSpecificFailoverInput" } ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" - }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", "enum": [ - "Enabled", - "Disabled" + "LatestTime", + "LatestTag", + "Custom" ], "type": "string", "x-ms-enum": { - "name": "MultiVmSyncStatus", + "name": "RecoveryPointType", "modelAsString": false } }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" } }, - "x-ms-discriminator-value": "RcmAzureMigration" + "x-ms-discriminator-value": "InMage" }, - "VmwareCbtPolicyDetails": { - "description": "VMware Cbt specific policy details.", + "InMagePolicyDetails": { + "description": "InMage specific protection profile details.", "type": "object", "allOf": [ { @@ -10530,154 +10119,132 @@ "description": "The app consistent snapshot frequency in minutes.", "type": "integer" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" } }, - "x-ms-discriminator-value": "VMwareCbt" + "x-ms-discriminator-value": "InMage" }, - "HyperVReplicaBaseReplicationDetails": { - "description": "Hyper V replica provider specific settings base class.", + "InMagePolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" }, - "vMDiskDetails": { - "description": "VM disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": false } } }, - "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + "x-ms-discriminator-value": "InMage" }, - "VMNicDetails": { - "description": "Hyper V VM network details.", + "InMageProtectedDiskDetails": { + "description": "InMage protected disk details.", "type": "object", "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "replicaNicId": { - "description": "The replica nic Id.", - "type": "string" - }, - "sourceNicArmId": { - "description": "The source nic ARM Id.", - "type": "string" - }, - "vMSubnetName": { - "description": "VM subnet name.", + "diskId": { + "description": "The disk id.", "type": "string" }, - "vMNetworkName": { - "description": "VM network name.", + "diskName": { + "description": "The disk name.", "type": "string" }, - "recoveryVMNetworkId": { - "description": "Recovery VM network Id.", + "protectionStage": { + "description": "The protection stage.", "type": "string" }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", + "healthErrorCode": { + "description": "The health error code for the disk.", "type": "string" }, - "ipAddressType": { - "description": "Ip address type.", - "type": "string" + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" }, - "primaryNicStaticIPAddress": { - "description": "Primary nic static IP address.", + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", "type": "string" }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", - "type": "string" + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" }, - "selectionType": { - "description": "Selection type for failover.", - "type": "string" + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" }, - "recoveryNicIpAddressType": { - "description": "IP allocation type for recovery VM.", - "type": "string" - } - } - }, - "InitialReplicationDetails": { - "description": "Initial replication details.", - "type": "object", - "properties": { - "initialReplicationType": { - "description": "Initial replication type.", - "type": "string" + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" }, - "initialReplicationProgressPercentage": { - "description": "The initial replication progress percentage.", - "type": "string" - } - } - }, - "DiskDetails": { - "description": "Onprem disk details data.", - "type": "object", - "properties": { - "maxSizeMB": { + "fileSystemCapacityInBytes": { "format": "int64", - "description": "The hard disk max size in MB.", + "description": "The file system capacity in bytes.", "type": "integer" }, - "vhdType": { - "description": "The type of the volume.", - "type": "string" + "sourceDataInMB": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" }, - "vhdId": { - "description": "The VHD Id.", + "psDataInMB": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMB": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", "type": "string" }, - "vhdName": { - "description": "The VHD name.", + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" } } }, - "HyperVReplicaReplicationDetails": { - "description": "HyperV replica 2012 replication details.", + "InMageReplicationDetails": { + "description": "InMage provider specific settings", "type": "object", "allOf": [ { @@ -10685,17 +10252,27 @@ } ], "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" }, "vmId": { "description": "The virtual machine Id.", @@ -10709,129 +10286,98 @@ "description": "The protection state description for the vm.", "type": "string" }, - "initialReplicationDetails": { + "resyncDetails": { "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." + "description": "The resync details of the machine" }, - "vMDiskDetails": { - "description": "VM disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" - } - } - }, - "x-ms-discriminator-value": "HyperVReplica2012" - }, - "HyperVReplicaBlueReplicationDetails": { - "description": "HyperV replica 2012 R2 (Blue) replication details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" - } - ], - "properties": { - "lastReplicatedTime": { + "retentionWindowStart": { "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", + "description": "The retention window start time.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" }, - "vMDiskDetails": { - "description": "VM disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" - } - } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" - }, - "HyperVReplicaAzureReplicationDetails": { - "description": "Hyper V Replica Azure provider specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" - } - ], - "properties": { - "azureVmDiskDetails": { - "description": "Azure VM Disk details.", + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "$ref": "#/definitions/AzureVmDiskDetails" + "$ref": "#/definitions/InMageProtectedDiskDetails" } }, - "recoveryAzureVmName": { - "description": "Recovery Azure given name.", + "ipAddress": { + "description": "The source IP address.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", "type": "string" }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "masterTargetId": { + "description": "The master target Id.", "type": "string" }, - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "Last RPO value.", - "type": "integer" + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "multiVmGroupName": { + "description": "The multi vm group name, if any.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", "type": "string" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" }, "vmNics": { "description": "The PE Network details.", @@ -10840,612 +10386,863 @@ "$ref": "#/definitions/VMNicDetails" } }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", - "type": "string" - }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", + "discoveryType": { + "description": "A value indicating the discovery type of the machine.", "type": "string" }, - "encryption": { - "description": "The encryption info.", + "azureStorageAccountId": { + "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", "type": "string" }, - "oSDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The operating system info." - }, - "sourceVmRamSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "sourceVmCpuCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" + "datastores": { + "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names", + "type": "array", + "items": { + "type": "string" + } }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "replicaId": { + "description": "The replica id of the protected item.", "type": "string" }, - "licenseType": { - "description": "License Type of the VM to be used.", + "osVersion": { + "description": "The OS Version of the protected item.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "x-ms-discriminator-value": "InMage" }, - "AzureVmDiskDetails": { - "description": "Disk details for E2A provider.", + "InMageReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "profileId" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], "properties": { - "vhdType": { - "description": "VHD type.", + "masterTargetId": { + "description": "The Master Target Id.", "type": "string" }, - "vhdId": { - "description": "The VHD id.", + "processServerId": { + "description": "The Process Server Id.", "type": "string" }, - "vhdName": { - "description": "VHD name.", + "retentionDrive": { + "description": "The retention drive to use on the MT.", "type": "string" }, - "maxSizeMB": { - "description": "Max side in MB.", + "runAsAccountId": { + "description": "The CS account Id.", "type": "string" }, - "targetDiskLocation": { - "description": "Blob uri of the Azure disk.", + "datastoreName": { + "description": "The target datastore name.", "type": "string" }, - "targetDiskName": { - "description": "The target Azure disk name.", - "type": "string" + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." }, - "lunId": { - "description": "Ordinal\\LunId of the disk for the Azure VM.", + "profileId": { + "description": "The Policy Id.", "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } } - } + }, + "x-ms-discriminator-value": "InMage" }, - "OSDetails": { - "description": "Disk Details.", + "InMageVolumeExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", "type": "object", "properties": { - "osType": { - "description": "VM Disk details.", - "type": "string" - }, - "productType": { - "description": "Product type.", - "type": "string" - }, - "osEdition": { - "description": "The OSEdition.", - "type": "string" - }, - "oSVersion": { - "description": "The OS Version.", - "type": "string" - }, - "oSMajorVersion": { - "description": "The OS Major Version.", + "volumeLabel": { + "description": "The volume label. The disk having any volume with this label will be excluded from replication.", "type": "string" - }, - "oSMinorVersion": { - "description": "The OS Minor Version.", + }, + "onlyExcludeIfSingleVolume": { + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", "type": "string" } } }, - "InMageAzureV2ReplicationDetails": { - "description": "InMageAzureV2 provider specific settings", + "InnerHealthError": { + "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" - } - ], "properties": { - "infrastructureVmId": { - "description": "The infrastructure VM Id.", + "errorSource": { + "description": "Source of error.", "type": "string" }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", + "errorType": { + "description": "Type of error.", "type": "string" }, - "protectionStage": { - "description": "The protection stage.", + "errorLevel": { + "description": "Level of error.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "errorCategory": { + "description": "Category of error.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "errorCode": { + "description": "Error code.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "summaryMessage": { + "description": "Summary message of the entity.", "type": "string" }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" - }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" - }, - "ipAddress": { - "description": "The source IP address.", + "errorMessage": { + "description": "Error message.", "type": "string" }, - "agentVersion": { - "description": "The agent version.", + "possibleCauses": { + "description": "Possible causes of error.", "type": "string" }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", + "recommendedAction": { + "description": "Recommended action to resolve error.", "type": "string" }, - "isAgentUpdateRequired": { - "description": "A value indicating whether installed agent needs to be updated.", + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC)", "type": "string" }, - "isRebootAfterUpdateRequired": { - "description": "A value indicating whether the source server requires a restart after update.", + "recoveryProviderErrorMessage": { + "description": "DRA error message.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", + "entityId": { + "description": "ID of the entity.", "type": "string" - }, - "processServerId": { - "description": "The process server Id.", + } + } + }, + "InputEndpoint": { + "description": "Azure VM input endpoint details.", + "type": "object", + "properties": { + "endpointName": { + "description": "The input endpoint name.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", - "type": "string" + "privatePort": { + "format": "int32", + "description": "The input endpoint private port.", + "type": "integer" }, - "multiVmGroupName": { - "description": "The multi vm group name.", - "type": "string" + "publicPort": { + "format": "int32", + "description": "The input endpoint public port.", + "type": "integer" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi vm sync is enabled or disabled.", + "protocol": { + "description": "The input endpoint protocol.", "type": "string" - }, - "protectedDisks": { - "description": "The list of protected disks.", + } + } + }, + "Job": { + "description": "Job details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The custom data." + } + } + }, + "JobCollection": { + "description": "Collection of jobs.", + "type": "object", + "properties": { + "value": { + "description": "The list of jobs.", "type": "array", "items": { - "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + "$ref": "#/definitions/Job" } }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "nextLink": { + "description": "The value of next link.", "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details based on specific job type.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true }, - "masterTargetId": { - "description": "The master target Id.", + "affectedObjectDetails": { + "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "discriminator": "instanceType" + }, + "JobEntity": { + "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "type": "object", + "properties": { + "jobId": { + "description": "The job id.", "type": "string" }, - "sourceVmCpuCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" + "jobFriendlyName": { + "description": "The job display name.", + "type": "string" }, - "sourceVmRamSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" + "targetObjectId": { + "description": "The object id.", + "type": "string" }, - "osType": { - "description": "The type of the OS on the VM.", + "targetObjectName": { + "description": "The object name.", "type": "string" }, - "vhdName": { - "description": "The OS disk VHD name.", + "targetInstanceType": { + "description": "The workflow affected object type.", "type": "string" }, - "osDiskId": { - "description": "The id of the disk containing the OS.", + "jobScenarioName": { + "description": "The job name. Enum type ScenarioName.", "type": "string" + } + } + }, + "JobErrorDetails": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "serviceErrorDetails": { + "$ref": "#/definitions/ServiceError", + "description": "The Service error details." }, - "azureVMDiskDetails": { - "description": "Azure VM Disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureVmDiskDetails" - } + "providerErrorDetails": { + "$ref": "#/definitions/ProviderError", + "description": "The Provider error details." }, - "recoveryAzureVMName": { - "description": "Recovery Azure given name.", + "errorLevel": { + "description": "Error level of error.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", + "creationTime": { + "format": "date-time", + "description": "The creation time of job error.", "type": "string" }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", + "taskId": { + "description": "The Id of the task.", + "type": "string" + } + } + }, + "JobProperties": { + "description": "Job custom data details.", + "type": "object", + "properties": { + "activityId": { + "description": "The activity id.", "type": "string" }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "scenarioName": { + "description": "The ScenarioName.", + "type": "string" + }, + "friendlyName": { + "description": "The DisplayName.", + "type": "string" + }, + "state": { + "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", + "tasks": { + "description": "The tasks.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "$ref": "#/definitions/ASRTask" } }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", - "type": "string" - }, - "selectedSourceNicId": { - "description": "The selected source nic Id which will be used as the primary nic during failover.", - "type": "string" + "errors": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } }, - "discoveryType": { - "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "endTime": { + "format": "date-time", + "description": "The end time.", "type": "string" }, - "datastores": { - "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", + "allowedActions": { + "description": "The Allowed action the job.", "type": "array", "items": { "type": "string" } }, - "targetVmId": { - "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", + "targetObjectId": { + "description": "The affected Object Id.", "type": "string" }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", + "targetObjectName": { + "description": "The name of the affected object.", "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", + "targetInstanceType": { + "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "customDetails": { + "$ref": "#/definitions/JobDetails", + "description": "The custom job details like test failover job details." + } + } + }, + "JobQueryParameter": { + "description": "Query parameter to enumerate jobs.", + "type": "object", + "properties": { + "startTime": { + "description": "Date time to get jobs from.", "type": "string" }, - "licenseType": { - "description": "License Type of the VM to be used.", + "endTime": { + "description": "Date time to get jobs upto.", "type": "string" }, - "validationErrors": { - "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "fabricId": { + "description": "The Id of the fabric to search jobs under.", + "type": "string" + }, + "affectedObjectTypes": { + "description": "The type of objects.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "type": "string" } }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "jobStatus": { + "description": "The states of the job to be filtered can be in.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "JobStatusEventDetails": { + "description": "Model class for event details of a job status event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSpecificDetails" + } + ], + "properties": { + "jobId": { + "description": "Job arm id for the event.", "type": "string" }, - "lastUpdateReceivedTime": { - "format": "date-time", - "description": "The last update time received from on-prem components.", + "jobFriendlyName": { + "description": "JobName for the Event.", "type": "string" }, - "replicaId": { - "description": "The replica id of the protected item.", + "jobStatus": { + "description": "JobStatus for the Event.", "type": "string" }, - "osVersion": { - "description": "The OS Version of the protected item.", + "affectedObjectType": { + "description": "AffectedObjectType for the event.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "JobStatus" }, - "InMageAzureV2ProtectedDiskDetails": { - "description": "InMageAzureV2 protected disk details.", + "JobTaskDetails": { + "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { - "diskId": { - "description": "The disk id.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." + } + }, + "x-ms-discriminator-value": "JobTaskDetails" + }, + "LogicalNetwork": { + "description": "Logical network data model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LogicalNetworkProperties", + "description": "The Logical Network Properties." + } + } + }, + "LogicalNetworkCollection": { + "description": "List of logical networks.", + "type": "object", + "properties": { + "value": { + "description": "The Logical Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/LogicalNetwork" + } }, - "protectionStage": { - "description": "The protection stage.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "healthErrorCode": { - "description": "The health error code for the disk.", + } + } + }, + "LogicalNetworkProperties": { + "description": "Logical Network Properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Friendly Name.", "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", + "networkVirtualizationStatus": { + "description": "A value indicating whether Network Virtualization is enabled for the logical network.", "type": "string" }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", - "type": "integer" - }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The disk file system capacity in bytes.", - "type": "integer" - }, - "sourceDataInMegaBytes": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" - }, - "psDataInMegaBytes": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" - }, - "targetDataInMegaBytes": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" - }, - "diskResized": { - "description": "A value indicating whether disk is resized.", + "logicalNetworkUsage": { + "description": "A value indicating whether logical network is used as private test network by test failover.", "type": "string" }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "logicalNetworkDefinitionsStatus": { + "description": "A value indicating whether logical network definitions are isolated.", "type": "string" } } }, - "InMageReplicationDetails": { - "description": "InMage provider specific settings", + "ManualActionTaskDetails": { + "description": "This class represents the manual action task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "activeSiteType": { - "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "name": { + "description": "The name.", "type": "string" }, - "sourceVmCpuCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "sourceVmRamSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "osDetails": { - "$ref": "#/definitions/OSDiskDetails", - "description": "The OS details." + "instructions": { + "description": "The instructions.", + "type": "string" }, - "protectionStage": { - "description": "The protection stage.", + "observation": { + "description": "The observation.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionTaskDetails" + }, + "MasterTargetServer": { + "description": "Details of a Master Target Server.", + "type": "object", + "properties": { + "id": { + "description": "The server Id.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "ipAddress": { + "description": "The IP address of the server.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "name": { + "description": "The server name.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "osType": { + "description": "The OS type of the server.", "type": "string" }, - "resyncDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "The resync details of the machine" + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" }, - "retentionWindowStart": { + "lastHeartbeat": { "format": "date-time", - "description": "The retention window start time.", + "description": "The last heartbeat received from the server.", "type": "string" }, - "retentionWindowEnd": { - "format": "date-time", - "description": "The retention window end time.", + "versionStatus": { + "description": "Version status", "type": "string" }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" + "retentionVolumes": { + "description": "The retention volumes of Master target Server.", + "type": "array", + "items": { + "$ref": "#/definitions/RetentionVolume" + } }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" + "dataStores": { + "description": "The list of data stores in the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/DataStore" + } }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" + "validationErrors": { + "description": "Validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "protectedDisks": { - "description": "The list of protected disks.", + "healthErrors": { + "description": "Health errors.", "type": "array", "items": { - "$ref": "#/definitions/InMageProtectedDiskDetails" + "$ref": "#/definitions/HealthError" } }, - "ipAddress": { - "description": "The source IP address.", + "diskCount": { + "format": "int32", + "description": "Disk count of the master target.", + "type": "integer" + }, + "osVersion": { + "description": "OS Version of the master target.", "type": "string" }, - "lastHeartbeat": { + "agentExpiryDate": { "format": "date-time", - "description": "The last heartbeat received from the source server.", + "description": "Agent expiry date.", "type": "string" }, - "processServerId": { - "description": "The process server Id.", + "marsAgentVersion": { + "description": "MARS agent version.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", + "marsAgentExpiryDate": { + "format": "date-time", + "description": "MARS agent expiry date.", "type": "string" }, - "consistencyPoints": { - "description": "The collection of Consistency points.", - "type": "object", - "additionalProperties": { - "format": "date-time", - "type": "string" + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Agent version details." + }, + "marsAgentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Mars agent version details." + } + } + }, + "MobilityServiceUpdate": { + "description": "The Mobility Service update details.", + "type": "object", + "properties": { + "version": { + "description": "The version of the latest update.", + "type": "string" + }, + "rebootStatus": { + "description": "The reboot status of the update - whether it is required or not.", + "type": "string" + }, + "osType": { + "description": "The OS type.", + "type": "string" + } + } + }, + "Network": { + "description": "Network model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The Network Properties." + } + } + }, + "NetworkCollection": { + "description": "List of networks.", + "type": "object", + "properties": { + "value": { + "description": "The Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/Network" } }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "nextLink": { + "description": "The value of next link.", "type": "string" + } + } + }, + "NetworkMapping": { + "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate exensions in subsequent versions.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkMappingProperties", + "description": "The Network Mapping Properties." + } + } + }, + "NetworkMappingCollection": { + "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", + "type": "object", + "properties": { + "value": { + "description": "The Network Mappings list.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkMapping" + } }, - "rebootAfterUpdateStatus": { - "description": "A value indicating whether the source server requires a restart after update.", + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "NetworkMappingFabricSpecificSettings": { + "description": "Network Mapping fabric specific settings.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "NetworkMappingProperties": { + "description": "Network Mapping Properties.", + "type": "object", + "properties": { + "state": { + "description": "The pairing state for network mapping.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id, if any.", + "primaryNetworkFriendlyName": { + "description": "The primary network friendly name.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name, if any.", + "primaryNetworkId": { + "description": "The primary network id for network mapping.", "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", "type": "string" }, - "agentDetails": { - "$ref": "#/definitions/InMageAgentDetails", - "description": "The agent details." + "recoveryNetworkFriendlyName": { + "description": "The recovery network friendly name.", + "type": "string" }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", + "recoveryNetworkId": { + "description": "The recovery network id for network mapping.", "type": "string" }, - "infrastructureVmId": { - "description": "The infrastructure VM Id.", + "recoveryFabricArmId": { + "description": "The recovery fabric ARM id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "fabricSpecificSettings": { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", + "description": "The fabric specific settings." + } + } + }, + "NetworkProperties": { + "description": "Network Properties", + "type": "object", + "properties": { + "fabricType": { + "description": "The Fabric Type.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", + "subnets": { + "description": "The List of subnets.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "$ref": "#/definitions/Subnet" } }, - "discoveryType": { - "description": "A value indicating the discovery type of the machine.", + "friendlyName": { + "description": "The Friendly Name.", "type": "string" }, - "azureStorageAccountId": { - "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", + "networkType": { + "description": "The Network Type.", + "type": "string" + } + } + }, + "Object": { + "description": "Base of all objects.", + "type": "object", + "properties": {} + }, + "OperationsDiscovery": { + "description": "Operations discovery class.", + "type": "object", + "properties": { + "name": { + "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", "type": "string" }, - "datastores": { - "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names", - "type": "array", - "items": { - "type": "string" - } + "display": { + "$ref": "#/definitions/Display", + "description": "Object type" }, - "validationErrors": { - "description": "The validation errors of the on-premise machine Value can be list of validation errors", + "origin": { + "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationsDiscoveryProperties", + "description": "Properties. Reserved for future use." + } + } + }, + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", + "type": "object", + "properties": { + "value": { + "description": "The ClientDiscovery details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/OperationsDiscovery" } }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object", + "properties": {} + }, + "OSDetails": { + "description": "Disk Details.", + "type": "object", + "properties": { + "osType": { + "description": "VM Disk details.", "type": "string" }, - "lastUpdateReceivedTime": { - "format": "date-time", - "description": "The last update time received from on-prem components.", + "productType": { + "description": "Product type.", "type": "string" }, - "replicaId": { - "description": "The replica id of the protected item.", + "osEdition": { + "description": "The OSEdition.", "type": "string" }, - "osVersion": { - "description": "The OS Version of the protected item.", + "oSVersion": { + "description": "The OS Version.", + "type": "string" + }, + "oSMajorVersion": { + "description": "The OS Major Version.", + "type": "string" + }, + "oSMinorVersion": { + "description": "The OS Minor Version.", "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, "OSDiskDetails": { "description": "Details of the OS Disk.", @@ -11465,3102 +11262,3305 @@ } } }, - "InMageProtectedDiskDetails": { - "description": "InMage protected disk details.", + "PlannedFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", "properties": { - "diskId": { - "description": "The disk id.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "protectionStage": { - "description": "The protection stage.", - "type": "string" - }, - "healthErrorCode": { - "description": "The health error code for the disk.", - "type": "string" - }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "string" - }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", - "type": "integer" - }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The file system capacity in bytes.", - "type": "integer" - }, - "sourceDataInMB": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" - }, - "psDataInMB": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" - }, - "targetDataInMB": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" - }, - "diskResized": { - "description": "A value indicating whether disk is resized.", - "type": "string" - }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The last RPO calculated time.", - "type": "string" + "properties": { + "$ref": "#/definitions/PlannedFailoverInputProperties", + "description": "Planned failover input properties" } } }, - "InMageAgentDetails": { - "description": "The details of the InMage agent.", + "PlannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", "type": "object", "properties": { - "agentVersion": { - "description": "The agent version.", - "type": "string" - }, - "agentUpdateStatus": { - "description": "A value indicating whether installed agent needs to be updated.", - "type": "string" - }, - "postUpdateRebootStatus": { - "description": "A value indicating whether reboot is required after update is applied.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" } } }, - "A2AReplicationDetails": { - "description": "A2A provider specific settings.", + "Policy": { + "description": "Protection profile details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/Resource" } ], "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", - "type": "string" - }, - "multiVmGroupId": { - "description": "The multi vm group Id.", - "type": "string" - }, - "multiVmGroupName": { - "description": "The multi vm group name.", - "type": "string" - }, - "multiVmGroupCreateOption": { - "description": "Whether Multi VM group is auto created or specified by user.", - "enum": [ - "AutoCreated", - "UserSpecified" - ], - "type": "string", - "x-ms-enum": { - "name": "MultiVmGroupCreateOption", - "modelAsString": false - } - }, - "managementId": { - "description": "The management Id.", - "type": "string" - }, - "protectedDisks": { - "description": "The list of protected disks.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AProtectedDiskDetails" - } - }, - "protectedManagedDisks": { - "description": "The list of protected managed disks.", + "properties": { + "$ref": "#/definitions/PolicyProperties", + "description": "The custom data." + } + } + }, + "PolicyCollection": { + "description": "Protection Profile Collection details.", + "type": "object", + "properties": { + "value": { + "description": "The policy details.", "type": "array", "items": { - "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + "$ref": "#/definitions/Policy" } }, - "recoveryBootDiagStorageAccountId": { - "description": "The recovery boot diagnostic storage account Arm Id.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "primaryFabricLocation": { - "description": "Primary fabric location.", + } + } + }, + "PolicyProperties": { + "description": "Protection profile custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The FriendlyName.", "type": "string" }, - "recoveryFabricLocation": { - "description": "The recovery fabric location.", + "providerSpecificDetails": { + "$ref": "#/definitions/PolicyProviderSpecificDetails", + "description": "The ReplicationChannelSetting." + } + } + }, + "PolicyProviderSpecificDetails": { + "description": "Base class for Provider specific details for policies.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "PolicyProviderSpecificInput": { + "description": "Base class for provider specific input", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "osType": { - "description": "The type of operating system.", + } + }, + "discriminator": "instanceType" + }, + "ProcessServer": { + "description": "Details of the Process Server.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Process Server's friendly name.", "type": "string" }, - "recoveryAzureVMSize": { - "description": "The size of recovery virtual machine.", + "id": { + "description": "The Process Server Id.", "type": "string" }, - "recoveryAzureVMName": { - "description": "The name of recovery virtual machine.", + "ipAddress": { + "description": "The IP address of the server.", "type": "string" }, - "recoveryAzureResourceGroupId": { - "description": "The recovery resource group.", + "osType": { + "description": "The OS type of the server.", "type": "string" }, - "recoveryCloudService": { - "description": "The recovery cloud service.", + "agentVersion": { + "description": "The version of the scout component on the server.", "type": "string" }, - "recoveryAvailabilitySet": { - "description": "The recovery availability set.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", "type": "string" }, - "selectedRecoveryAzureNetworkId": { - "description": "The recovery virtual network.", + "versionStatus": { + "description": "Version status", "type": "string" }, - "vmNics": { - "description": "The virtual machine nic details.", + "mobilityServiceUpdates": { + "description": "The list of the mobility service updates available on the Process Server.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "$ref": "#/definitions/MobilityServiceUpdate" } }, - "vmSyncedConfigDetails": { - "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", - "description": "The synced configuration details." - }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", - "type": "integer" - }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", - "type": "string" - }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", + "hostId": { + "description": "The agent generated Id.", "type": "string" }, - "agentVersion": { - "description": "The agent version.", + "machineCount": { + "description": "The servers configured with this PS.", "type": "string" }, - "isReplicationAgentUpdateRequired": { - "description": "A value indicating whether replication agent update is required.", - "type": "boolean" - }, - "recoveryFabricObjectId": { - "description": "The recovery fabric object Id.", + "replicationPairCount": { + "description": "The number of replication pairs configured in this PS.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "systemLoad": { + "description": "The percentage of the system load.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "systemLoadStatus": { + "description": "The system load status.", "type": "string" }, - "lifecycleId": { - "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "cpuLoad": { + "description": "The percentage of the CPU load.", "type": "string" }, - "testFailoverRecoveryFabricObjectId": { - "description": "The test failover fabric object Id.", + "cpuLoadStatus": { + "description": "The CPU load status.", "type": "string" }, - "rpoInSeconds": { + "totalMemoryInBytes": { "format": "int64", - "description": "The last RPO value in seconds.", + "description": "The total memory.", "type": "integer" }, - "lastRpoCalculatedTime": { - "format": "date-time", - "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", - "type": "string" - } - }, - "x-ms-discriminator-value": "A2A" - }, - "A2AProtectedDiskDetails": { - "description": "A2A protected disk details.", - "type": "object", - "properties": { - "diskUri": { - "description": "The disk uri.", - "type": "string" - }, - "recoveryAzureStorageAccountId": { - "description": "The recovery disk storage account.", - "type": "string" - }, - "primaryDiskAzureStorageAccountId": { - "description": "The primary disk storage account.", - "type": "string" - }, - "recoveryDiskUri": { - "description": "Recovery disk uri.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "diskCapacityInBytes": { + "availableMemoryInBytes": { "format": "int64", - "description": "The disk capacity in bytes.", + "description": "The available memory.", "type": "integer" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account.", - "type": "string" - }, - "diskType": { - "description": "The type of disk.", + "memoryUsageStatus": { + "description": "The memory usage status.", "type": "string" }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "boolean" - }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", "type": "integer" }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", - "type": "string" - }, - "dataPendingInStagingStorageAccountInMB": { - "format": "double", - "description": "The data pending for replication in MB at staging account.", - "type": "number" - }, - "dataPendingAtSourceAgentInMB": { - "format": "double", - "description": "The data pending at source virtual machine in MB.", - "type": "number" - } - } - }, - "A2AProtectedManagedDiskDetails": { - "description": "A2A protected managed disk details.", - "type": "object", - "properties": { - "diskId": { - "description": "The managed disk Arm id.", - "type": "string" - }, - "recoveryResourceGroupId": { - "description": "The recovery disk resource group Arm Id.", - "type": "string" - }, - "recoveryTargetDiskId": { - "description": "Recovery target disk Arm Id.", - "type": "string" - }, - "recoveryReplicaDiskId": { - "description": "Recovery replica disk Arm Id.", - "type": "string" - }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", - "type": "string" - }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "diskCapacityInBytes": { + "availableSpaceInBytes": { "format": "int64", - "description": "The disk capacity in bytes.", + "description": "The available space.", "type": "integer" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account.", + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "psServiceStatus": { + "description": "The PS service status.", "type": "string" }, - "diskType": { - "description": "The type of disk.", + "sslCertExpiryDate": { + "format": "date-time", + "description": "The PS SSL cert expiry date.", "type": "string" }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "boolean" - }, - "monitoringPercentageCompletion": { + "sslCertExpiryRemainingDays": { "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "description": "CS SSL cert expiry date.", "type": "integer" }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "osVersion": { + "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", "type": "string" }, - "dataPendingInStagingStorageAccountInMB": { - "format": "double", - "description": "The data pending for replication in MB at staging account.", - "type": "number" + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "dataPendingAtSourceAgentInMB": { - "format": "double", - "description": "The data pending at source virtual machine in MB.", - "type": "number" + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." } } }, - "AzureToAzureVmSyncedConfigDetails": { - "description": "Azure to Azure VM synced configuration details.", + "ProtectableItem": { + "description": "Replication protected item", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "tags": { - "description": "The Azure VM tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "roleAssignments": { - "description": "The Azure role assignments.", + "properties": { + "$ref": "#/definitions/ProtectableItemProperties", + "description": "The custom data." + } + } + }, + "ProtectableItemCollection": { + "description": "Protectable item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protectable item details.", "type": "array", "items": { - "$ref": "#/definitions/RoleAssignment" + "$ref": "#/definitions/ProtectableItem" } }, - "inputEndpoints": { - "description": "The Azure VM input endpoints.", - "type": "array", - "items": { - "$ref": "#/definitions/InputEndpoint" - } + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "RoleAssignment": { - "description": "Azure role assignment details.", + "ProtectableItemProperties": { + "description": "Replication protected item custom data details.", "type": "object", "properties": { - "id": { - "description": "The ARM Id of the role assignment.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "name": { - "description": "The name of the role assignment.", + "protectionStatus": { + "description": "The protection status.", "type": "string" }, - "scope": { - "description": "Role assignment scope.", + "replicationProtectedItemId": { + "description": "The ARM resource of protected items.", "type": "string" }, - "principalId": { - "description": "Principal Id.", + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", "type": "string" }, - "roleDefinitionId": { - "description": "Role definition id.", - "type": "string" + "protectionReadinessErrors": { + "description": "The Current protection readiness errors.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedReplicationProviders": { + "description": "The list of replication providers supported for the protectable item.", + "type": "array", + "items": { + "type": "string" + } + }, + "customDetails": { + "$ref": "#/definitions/ConfigurationSettings", + "description": "The Replication provider custom settings." } } }, - "InputEndpoint": { - "description": "Azure VM input endpoint details.", + "ProtectedItemsQueryParameter": { + "description": "Query parameter to enumerate protected items.", "type": "object", "properties": { - "endpointName": { - "description": "The input endpoint name.", + "sourceFabricName": { + "description": "The source fabric name filter.", "type": "string" }, - "privatePort": { - "format": "int32", - "description": "The input endpoint private port.", - "type": "integer" + "recoveryPlanName": { + "description": "The recovery plan filter.", + "type": "string" }, - "publicPort": { - "format": "int32", - "description": "The input endpoint public port.", - "type": "integer" + "vCenterName": { + "description": "The vCenter name filter.", + "type": "string" }, - "protocol": { - "description": "The input endpoint protocol.", + "instanceType": { + "description": "The replication provider type.", "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": false + } } } }, - "HyperVReplicaAzureEnableProtectionInput": { - "description": "Azure specific enable protection input.", + "ProtectionContainer": { + "description": "Protection container details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", - "type": "string" - }, - "vmName": { - "description": "The Vm Name.", - "type": "string" - }, - "osType": { - "description": "The OS type associated with vm.", - "type": "string" - }, - "vhdId": { - "description": "The OS disk VHD id associated with vm.", - "type": "string" - }, - "targetStorageAccountId": { - "description": "The storage account name.", - "type": "string" - }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", - "type": "string" - }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", - "type": "string" - }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" - }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", - "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", - "type": "string" - }, - "disksToInclude": { - "description": "The list of VHD IDs of disks to be protected.", + "properties": { + "$ref": "#/definitions/ProtectionContainerProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerCollection": { + "description": "Protection Container collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protection Container details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ProtectionContainer" } }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", - "type": "string" - }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", - "type": "string" - }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "SanEnableProtectionInput": { - "description": "San enable protection provider specific input.", + "ProtectionContainerFabricSpecificDetails": { + "description": "Base class for fabric specific details of container.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], - "properties": {}, - "x-ms-discriminator-value": "San" - }, - "InMageAzureV2EnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "required": [ - "storageAccountId" - ], + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true + } + } + }, + "ProtectionContainerMapping": { + "description": "Protection container mapping object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "masterTargetId": { - "description": "The Master target Id.", - "type": "string" + "properties": { + "$ref": "#/definitions/ProtectionContainerMappingProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerMappingCollection": { + "description": "Protection container mapping collection class.", + "type": "object", + "properties": { + "value": { + "description": "List of container mappings.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerMapping" + } }, - "processServerId": { - "description": "The Process Server Id.", + "nextLink": { + "description": "Link to fetch rest of the data.", "type": "string" - }, - "storageAccountId": { - "description": "The storage account name.", + } + } + }, + "ProtectionContainerMappingProperties": { + "description": "Protection container mapping properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "Paired protection container ARM ID.", "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id.", + "targetProtectionContainerFriendlyName": { + "description": "Friendly name of paired container.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", + "description": "Provider specific provider details." }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "health": { + "description": "Health of pairing.", "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", + "healthErrorDetails": { + "description": "Health error.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/HealthError" } }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", - "type": "string" - }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", - "type": "string" - }, - "enableRdpOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "policyId": { + "description": "Policy ARM Id.", "type": "string" }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", + "state": { + "description": "Association Status", "type": "string" }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "sourceProtectionContainerFriendlyName": { + "description": "Friendly name of source protection container.", "type": "string" }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "sourceFabricFriendlyName": { + "description": "Friendly name of source fabric.", "type": "string" }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "targetFabricFriendlyName": { + "description": "Friendly name of target fabric.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "policyFriendlyName": { + "description": "Friendly name of replication policy.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageEnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "required": [ - "masterTargetId", - "processServerId", - "retentionDrive", - "multiVmGroupId", - "multiVmGroupName" - ], + "ProtectionContainerMappingProviderSpecificDetails": { + "description": "Container mapping provider specific details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "properties": { + "instanceType": { + "description": "Gets the class type. Overriden in derived classes.", + "type": "string", + "readOnly": true } - ], + } + }, + "ProtectionContainerProperties": { + "description": "Protection profile custom data details.", + "type": "object", "properties": { - "vmFriendlyName": { - "description": "The Vm Name.", + "fabricFriendlyName": { + "description": "Fabric friendly name.", "type": "string" }, - "masterTargetId": { - "description": "The Master Target Id.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "processServerId": { - "description": "The Process Server Id.", + "fabricType": { + "description": "The fabric type.", "type": "string" }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", - "type": "string" + "protectedItemCount": { + "format": "int32", + "description": "Number of protected PEs", + "type": "integer" }, - "runAsAccountId": { - "description": "The CS account Id.", + "pairingStatus": { + "description": "The pairing status of this cloud.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "role": { + "description": "The role of this cloud.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "fabricSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", + "description": "Fabric specific details." + } + } + }, + "ProviderError": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "The Error code.", + "type": "integer" + }, + "errorMessage": { + "description": "The Error message.", "type": "string" }, - "datastoreName": { - "description": "The target datastore name.", + "errorId": { + "description": "The Provider error Id.", "type": "string" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." + "possibleCauses": { + "description": "The possible causes for the error.", + "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" - } + "recommendedAction": { + "description": "The recommended action to resolve the error.", + "type": "string" + } + } + }, + "ProviderSpecificFailoverInput": { + "description": "Provider specific failover input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "discriminator": "instanceType" }, - "InMageDiskExclusionInput": { - "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", + "ProviderSpecificRecoveryPointDetails": { + "description": "Replication provider specific recovery point details.", "type": "object", "properties": { - "volumeOptions": { - "description": "The volume label based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageVolumeExclusionOptions" - } + "instanceType": { + "description": "Gets the provider type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "RcmAzureMigrationPolicyDetails": { + "description": "RCM based Azure migration specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" }, - "diskSignatureOptions": { - "description": "The guest disk signature based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncStatus", + "modelAsString": false } - } - } - }, - "InMageVolumeExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", - "type": "object", - "properties": { - "volumeLabel": { - "description": "The volume label. The disk having any volume with this label will be excluded from replication.", - "type": "string" }, - "onlyExcludeIfSingleVolume": { - "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" } - } + }, + "x-ms-discriminator-value": "RcmAzureMigration" }, - "InMageDiskSignatureExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "RecoveryPlan": { + "description": "Recovery plan details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "diskSignature": { - "description": "The guest signature of disk to be excluded from replication.", - "type": "string" + "properties": { + "$ref": "#/definitions/RecoveryPlanProperties", + "description": "The custom details." } } }, - "A2AEnableProtectionInput": { - "description": "A2A enable protection input.", + "RecoveryPlanA2AFailoverInput": { + "description": "Recovery plan A2A failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", - "type": "string" - }, - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" - }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", - "type": "string" - }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", - "type": "string" - }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } - }, - "vmManagedDisks": { - "description": "The list of vm managed disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARpRecoveryPointType", + "modelAsString": false } }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", "type": "string" }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", - "type": "string" + "multiVmSyncPointOption": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "enum": [ + "UseMultiVmSyncRecoveryPoint", + "UsePerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncPointOption", + "modelAsString": false + } } }, "x-ms-discriminator-value": "A2A" }, - "A2AVmDiskInputDetails": { - "description": "Azure VM disk input details.", - "type": "object", - "properties": { - "diskUri": { - "description": "The disk Uri.", - "type": "string" - }, - "recoveryAzureStorageAccountId": { - "description": "The recovery VHD storage account Id.", - "type": "string" - }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account Id.", - "type": "string" - } - } - }, - "A2AVmManagedDiskInputDetails": { - "description": "Azure VM managed disk input details.", + "RecoveryPlanAction": { + "description": "Recovery plan action details.", + "required": [ + "actionName", + "failoverTypes", + "failoverDirections", + "customDetails" + ], "type": "object", "properties": { - "diskId": { - "description": "The disk Id.", - "type": "string" - }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account Arm Id.", + "actionName": { + "description": "The action name.", "type": "string" }, - "recoveryResourceGroupId": { - "description": "The target resource group Arm Id.", - "type": "string" + "failoverTypes": { + "description": "The list of failover types.", + "type": "array", + "items": { + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationProtectedItemOperation", + "modelAsString": false + } + } }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", - "type": "string" + "failoverDirections": { + "description": "The list of failover directions.", + "type": "array", + "items": { + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } + } }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", - "type": "string" + "customDetails": { + "$ref": "#/definitions/RecoveryPlanActionDetails", + "description": "The custom details." } } }, - "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { - "description": "HyperV replica Azure input to update replication protected item.", + "RecoveryPlanActionDetails": { + "description": "Recovery plan action custom details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" - } - ], "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", - "type": "string" - }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", - "type": "string" - }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "instanceType": { + "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", + "type": "string", + "readOnly": true } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "InMageAzureV2UpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "RecoveryPlanAutomationRunbookActionDetails": { + "description": "Recovery plan Automation runbook action details.", + "required": [ + "fabricLocation" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + "$ref": "#/definitions/RecoveryPlanActionDetails" } ], "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", + "runbookId": { + "description": "The runbook ARM Id.", "type": "string" }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", + "timeout": { + "description": "The runbook timeout.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "AutomationRunbookActionDetails" }, - "A2AUpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "RecoveryPlanCollection": { + "description": "Recovery plan collection details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" - } - ], "properties": { - "recoveryCloudServiceId": { - "description": "The target cloud service ARM Id (for V1).", - "type": "string" - }, - "recoveryResourceGroupId": { - "description": "The target resource group ARM Id (for V2).", - "type": "string" - }, - "managedDiskUpdateDetails": { - "description": "Managed disk update details.", + "value": { + "description": "The list of recovery plans.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + "$ref": "#/definitions/RecoveryPlan" } }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AVmManagedDiskUpdateDetails": { - "description": "Azure VM managed disk update input details.", + "RecoveryPlanGroup": { + "description": "Recovery plan group details.", + "required": [ + "groupType" + ], "type": "object", "properties": { - "diskId": { - "description": "The disk Id.", - "type": "string" + "groupType": { + "description": "The group type.", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanGroupType", + "modelAsString": false + } }, - "recoveryTargetDiskAccountType": { - "description": "The target disk type before failover.", - "type": "string" + "replicationProtectedItems": { + "description": "The list of protected items.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } }, - "recoveryReplicaDiskAccountType": { - "description": "The replica disk type before failover.", - "type": "string" + "startGroupActions": { + "description": "The start group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + "endGroupActions": { + "description": "The end group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } } } }, - "AzureToAzureNetworkMappingSettings": { - "description": "A2A Network Mapping fabric specific settings.", + "RecoveryPlanGroupTaskDetails": { + "description": "This class represents the recovery plan group task.", "type": "object", "allOf": [ { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + "$ref": "#/definitions/GroupTaskDetails" } ], "properties": { - "primaryFabricLocation": { - "description": "The primary fabric location.", + "name": { + "description": "The name.", "type": "string" }, - "recoveryFabricLocation": { - "description": "The recovery fabric location.", + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", "type": "string" } }, - "x-ms-discriminator-value": "AzureToAzure" - }, - "VmmToAzureNetworkMappingSettings": { - "description": "E2A Network Mapping fabric specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" + "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" }, - "VmmToVmmNetworkMappingSettings": { - "description": "E2E Network Mapping fabric specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" - } + "RecoveryPlanHyperVReplicaAzureFailbackInput": { + "description": "Recovery plan HVR Azure failback input.", + "required": [ + "dataSyncOption", + "recoveryVmCreationOption" ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" - }, - "AzureToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", - "type": "string" + "dataSyncOption": { + "description": "The data sync option.", + "enum": [ + "ForDownTime", + "ForSynchronization" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSyncStatus", + "modelAsString": false + } + }, + "recoveryVmCreationOption": { + "description": "The ALR option.", + "enum": [ + "CreateVmIfNotFound", + "NoAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AlternateLocationRecoveryOption", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "AzureToAzure" - }, - "VmmToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" - } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" }, - "VmmToVmmCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" - } + "RecoveryPlanHyperVReplicaAzureFailoverInput": { + "description": "Recovery plan HVR Azure failover input.", + "required": [ + "vaultLocation" ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" - }, - "AzureToAzureUpdateNetworkMappingInput": { - "description": "Updates network mappings input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", + "vaultLocation": { + "description": "The vault location.", + "type": "string" + }, + "primaryKekCertificatePfx": { + "description": "The primary KEK certificate PFX.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary KEK certificate PFX.", "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "HyperVReplicaAzureRpRecoveryPointType", + "modelAsString": false + } } }, - "x-ms-discriminator-value": "AzureToAzure" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "VmmToAzureUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to azure.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" - } + "RecoveryPlanInMageAzureV2FailoverInput": { + "description": "Recovery plan InMageAzureV2 failover input.", + "required": [ + "vaultLocation", + "recoveryPointType" ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" - }, - "VmmToVmmUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + "properties": { + "vaultLocation": { + "description": "The vault location.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageV2RpRecoveryPointType", + "modelAsString": false + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "AzureFabricSpecificDetails": { - "description": "Azure Fabric Specific Details.", + "RecoveryPlanInMageFailoverInput": { + "description": "Recovery plan InMage failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "location": { - "description": "The Location for the Azure fabric.", - "type": "string" - }, - "containerIds": { - "description": "The container Ids for the Azure fabric.", - "type": "array", - "items": { - "type": "string" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RpInMageRecoveryPointType", + "modelAsString": false } } }, - "x-ms-discriminator-value": "Azure" + "x-ms-discriminator-value": "InMage" }, - "VmmDetails": { - "description": "VMM fabric specific details.", + "RecoveryPlanManualActionDetails": { + "description": "Recovery plan manual action details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanActionDetails" } ], - "properties": {}, - "x-ms-discriminator-value": "VMM" - }, - "HyperVSiteDetails": { - "description": "HyperVSite fabric specific details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificDetails" + "properties": { + "description": { + "description": "The manual action description.", + "type": "string" } - ], - "properties": {}, - "x-ms-discriminator-value": "HyperVSite" + }, + "x-ms-discriminator-value": "ManualActionDetails" }, - "VMwareDetails": { - "description": "Store the fabric details specific to the VMware fabric.", + "RecoveryPlanPlannedFailoverInput": { + "description": "Recovery plan planned failover input.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificDetails" + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", + "description": "The recovery plan planned failover input properties." } + } + }, + "RecoveryPlanPlannedFailoverInputProperties": { + "description": "Recovery plan planned failover input properties.", + "required": [ + "failoverDirection" ], + "type": "object", "properties": { - "processServers": { - "description": "The list of Process Servers associated with the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/ProcessServer" - } - }, - "masterTargetServers": { - "description": "The list of Master Target servers associated with the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/MasterTargetServer" + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false } }, - "runAsAccounts": { - "description": "The list of run as accounts created on the server.", + "providerSpecificDetails": { + "description": "The provider specific properties.", "type": "array", "items": { - "$ref": "#/definitions/RunAsAccount" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } - }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this CS.", - "type": "string" - }, - "processServerCount": { - "description": "The number of process servers.", - "type": "string" - }, - "agentCount": { - "description": "The number of source and target servers configured to talk to this CS.", - "type": "string" - }, - "protectedServers": { - "description": "The number of protected servers.", - "type": "string" - }, - "systemLoad": { - "description": "The percentage of the system load.", - "type": "string" - }, - "systemLoadStatus": { - "description": "The system load status.", - "type": "string" - }, - "cpuLoad": { - "description": "The percentage of the CPU load.", - "type": "string" - }, - "cpuLoadStatus": { - "description": "The CPU load status.", - "type": "string" - }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" - }, - "availableMemoryInBytes": { - "format": "int64", - "description": "The available memory.", - "type": "integer" - }, - "memoryUsageStatus": { - "description": "The memory usage status.", - "type": "string" - }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" - }, - "availableSpaceInBytes": { - "format": "int64", - "description": "The available space.", - "type": "integer" - }, - "spaceUsageStatus": { - "description": "The space usage status.", - "type": "string" - }, - "webLoad": { - "description": "The web load.", - "type": "string" - }, - "webLoadStatus": { - "description": "The web load status.", - "type": "string" - }, - "databaseServerLoad": { - "description": "The database server load.", - "type": "string" - }, - "databaseServerLoadStatus": { - "description": "The database server load status.", - "type": "string" - }, - "csServiceStatus": { - "description": "The CS service status.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address.", + } + } + }, + "RecoveryPlanProperties": { + "description": "Recovery plan custom details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name.", "type": "string" }, - "agentVersion": { - "description": "The agent Version.", + "primaryFabricId": { + "description": "The primary fabric Id.", "type": "string" }, - "hostName": { - "description": "The host name.", + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from CS server.", + "recoveryFabricId": { + "description": "The recovery fabric Id.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", "type": "string" }, - "sslCertExpiryDate": { - "format": "date-time", - "description": "CS SSL cert expiry date.", + "failoverDeploymentModel": { + "description": "The failover deployment model.", "type": "string" }, - "sslCertExpiryRemainingDays": { - "format": "int32", - "description": "CS SSL cert expiry date.", - "type": "integer" + "replicationProviders": { + "description": "The list of replication providers.", + "type": "array", + "items": { + "type": "string" + } }, - "psTemplateVersion": { - "description": "PS template version.", - "type": "string" + "allowedOperations": { + "description": "The list of allowed operations.", + "type": "array", + "items": { + "type": "string" + } }, - "agentExpiryDate": { + "lastPlannedFailoverTime": { "format": "date-time", - "description": "Agent expiry date.", - "type": "string" - }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The agent version details." - } - }, - "x-ms-discriminator-value": "VMware" - }, - "ProcessServer": { - "description": "Details of the Process Server.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The Process Server's friendly name.", - "type": "string" - }, - "id": { - "description": "The Process Server Id.", + "description": "The start time of the last planned failover.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the server.", + "lastUnplannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last unplanned failover.", "type": "string" }, - "osType": { - "description": "The OS type of the server.", + "lastTestFailoverTime": { + "format": "date-time", + "description": "The start time of the last test failover.", "type": "string" }, - "agentVersion": { - "description": "The version of the scout component on the server.", - "type": "string" + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario details." }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the server.", + "currentScenarioStatus": { + "description": "The recovery plan status.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "currentScenarioStatusDescription": { + "description": "The recovery plan status description.", "type": "string" }, - "mobilityServiceUpdates": { - "description": "The list of the mobility service updates available on the Process Server.", + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/MobilityServiceUpdate" + "$ref": "#/definitions/RecoveryPlanGroup" } - }, - "hostId": { - "description": "The agent generated Id.", + } + } + }, + "RecoveryPlanProtectedItem": { + "description": "Recovery plan protected item.", + "type": "object", + "properties": { + "id": { + "description": "The ARM Id of the recovery plan protected item.", "type": "string" }, - "machineCount": { - "description": "The servers configured with this PS.", + "virtualMachineId": { + "description": "The virtual machine Id.", "type": "string" - }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this PS.", + } + } + }, + "RecoveryPlanProviderSpecificFailoverInput": { + "description": "Recovery plan provider specific failover input base class.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanScriptActionDetails": { + "description": "Recovery plan script action details.", + "required": [ + "path", + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "path": { + "description": "The script path.", "type": "string" }, - "systemLoad": { - "description": "The percentage of the system load.", + "timeout": { + "description": "The script timeout.", "type": "string" }, - "systemLoadStatus": { - "description": "The system load status.", + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": false + } + } + }, + "x-ms-discriminator-value": "ScriptActionDetails" + }, + "RecoveryPlanShutdownGroupTaskDetails": { + "description": "This class represents the recovery plan shutdown group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "name": { + "description": "The name.", "type": "string" }, - "cpuLoad": { - "description": "The percentage of the CPU load.", + "groupId": { + "description": "The group identifier.", "type": "string" }, - "cpuLoadStatus": { - "description": "The CPU load status.", + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + }, + "RecoveryPlanTestFailoverCleanupInput": { + "description": "Recovery plan test failover cleanup input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", + "description": "The recovery plan test failover cleanup input properties." + } + } + }, + "RecoveryPlanTestFailoverCleanupInputProperties": { + "description": "Recovery plan test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "The test failover cleanup comments.", "type": "string" + } + } + }, + "RecoveryPlanTestFailoverInput": { + "description": "Recovery plan test failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", + "description": "The recovery plan test failover input properties." + } + } + }, + "RecoveryPlanTestFailoverInputProperties": { + "description": "Recovery plan test failover input properties.", + "required": [ + "failoverDirection", + "networkType" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" + "networkType": { + "description": "The network type to be used for test failover.", + "type": "string" }, - "availableMemoryInBytes": { - "format": "int64", - "description": "The available memory.", - "type": "integer" + "networkId": { + "description": "The Id of the network to be used for test failover.", + "type": "string" }, - "memoryUsageStatus": { - "description": "The memory usage status.", + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", "type": "string" }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPlanUnplannedFailoverInput": { + "description": "Recovery plan unplanned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", + "description": "The recovery plan unplanned failover input properties." + } + } + }, + "RecoveryPlanUnplannedFailoverInputProperties": { + "description": "Recovery plan unplanned failover input properties.", + "required": [ + "failoverDirection", + "sourceSiteOperations" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": false + } }, - "availableSpaceInBytes": { - "format": "int64", - "description": "The available space.", - "type": "integer" + "sourceSiteOperations": { + "description": "A value indicating whether source site operations are required.", + "enum": [ + "Required", + "NotRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceSiteOperations", + "modelAsString": false + } }, - "spaceUsageStatus": { - "description": "The space usage status.", - "type": "string" + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPoint": { + "description": "Base class representing a recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "Recovery point related data." + } + } + }, + "RecoveryPointCollection": { + "description": "Collection of recovery point details.", + "type": "object", + "properties": { + "value": { + "description": "The recovery point details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPoint" + } }, - "psServiceStatus": { - "description": "The PS service status.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "sslCertExpiryDate": { + } + } + }, + "RecoveryPointProperties": { + "description": "Recovery point properties.", + "type": "object", + "properties": { + "recoveryPointTime": { "format": "date-time", - "description": "The PS SSL cert expiry date.", + "description": "The recovery point time.", "type": "string" }, - "sslCertExpiryRemainingDays": { - "format": "int32", - "description": "CS SSL cert expiry date.", - "type": "integer" - }, - "osVersion": { - "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", + "recoveryPointType": { + "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", "type": "string" }, - "healthErrors": { - "description": "Health errors.", + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", + "description": "The provider specific details for the recovery point." + } + } + }, + "RecoveryServicesProvider": { + "description": "Provider details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryServicesProviderProperties", + "description": "Provider properties." + } + } + }, + "RecoveryServicesProviderCollection": { + "description": "Collection of providers.", + "type": "object", + "properties": { + "value": { + "description": "The Servers details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/RecoveryServicesProvider" } }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "The agent version details." } } }, - "MasterTargetServer": { - "description": "Details of a Master Target Server.", + "RecoveryServicesProviderProperties": { + "description": "Recovery services provider properties.", "type": "object", "properties": { - "id": { - "description": "The server Id.", + "fabricType": { + "description": "Type of the site.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the server.", + "friendlyName": { + "description": "Friendly name of the DRA.", "type": "string" }, - "name": { - "description": "The server name.", + "providerVersion": { + "description": "The provider version.", "type": "string" }, - "osType": { - "description": "The OS type of the server.", + "serverVersion": { + "description": "The fabric provider.", "type": "string" }, - "agentVersion": { - "description": "The version of the scout component on the server.", + "providerVersionState": { + "description": "DRA version status.", "type": "string" }, - "lastHeartbeat": { + "providerVersionExpiryDate": { "format": "date-time", - "description": "The last heartbeat received from the server.", + "description": "Expiry date of the version.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "fabricFriendlyName": { + "description": "The fabric friendly name.", "type": "string" }, - "retentionVolumes": { - "description": "The retention volumes of Master target Server.", - "type": "array", - "items": { - "$ref": "#/definitions/RetentionVolume" - } + "lastHeartBeat": { + "format": "date-time", + "description": "Time when last heartbeat was sent by the DRA.", + "type": "string" }, - "dataStores": { - "description": "The list of data stores in the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/DataStore" - } + "connectionStatus": { + "description": "A value indicating whether DRA is responsive.", + "type": "string" }, - "validationErrors": { - "description": "Validation errors.", + "protectedItemCount": { + "format": "int32", + "description": "Number of protected VMs currently managed by the DRA.", + "type": "integer" + }, + "allowedScenarios": { + "description": "The scenarios allowed on this provider.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "type": "string" } }, - "healthErrors": { - "description": "Health errors.", + "healthErrorDetails": { + "description": "The recovery services provider health error details.", "type": "array", "items": { "$ref": "#/definitions/HealthError" } }, - "diskCount": { - "format": "int32", - "description": "Disk count of the master target.", - "type": "integer" - }, - "osVersion": { - "description": "OS Version of the master target.", - "type": "string" - }, - "agentExpiryDate": { - "format": "date-time", - "description": "Agent expiry date.", - "type": "string" - }, - "marsAgentVersion": { - "description": "MARS agent version.", - "type": "string" - }, - "marsAgentExpiryDate": { - "format": "date-time", - "description": "MARS agent expiry date.", + "draIdentifier": { + "description": "The DRA Id.", "type": "string" }, - "agentVersionDetails": { - "$ref": "#/definitions/VersionDetails", - "description": "Agent version details." + "identityDetails": { + "$ref": "#/definitions/IdentityInformation", + "description": "The identity details." }, - "marsAgentVersionDetails": { + "providerVersionDetails": { "$ref": "#/definitions/VersionDetails", - "description": "Mars agent version details." - } - } - }, - "RunAsAccount": { - "description": "CS Accounts Details.", - "type": "object", - "properties": { - "accountId": { - "description": "The CS RunAs account Id.", - "type": "string" - }, - "accountName": { - "description": "The CS RunAs account name.", - "type": "string" + "description": "The provider version details." } } }, - "MobilityServiceUpdate": { - "description": "The Mobility Service update details.", + "RemoveProtectionContainerMappingInput": { + "description": "Container unpairing input.", "type": "object", "properties": { - "version": { - "description": "The version of the latest update.", - "type": "string" - }, - "rebootStatus": { - "description": "The reboot status of the update - whether it is required or not.", - "type": "string" - }, - "osType": { - "description": "The OS type.", - "type": "string" + "properties": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." } } }, - "RetentionVolume": { - "description": "The retention details of the MT.", + "RemoveProtectionContainerMappingInputProperties": { + "description": "Unpairing input properties.", "type": "object", "properties": { - "volumeName": { - "description": "The volume name.", - "type": "string" - }, - "capacityInBytes": { - "format": "int64", - "description": "The volume capacity.", - "type": "integer" - }, - "freeSpaceInBytes": { - "format": "int64", - "description": "The free space available in this volume.", - "type": "integer" - }, - "thresholdPercentage": { - "format": "int32", - "description": "The threshold percentage.", - "type": "integer" + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", + "description": "Provider specific input for unpairing." } } }, - "DataStore": { - "description": "The datastore details of the MT.", + "RenewCertificateInput": { + "description": "Certificate renewal input.", "type": "object", "properties": { - "symbolicName": { - "description": "The symbolic name of data store.", - "type": "string" - }, - "uuid": { - "description": "The uuid of data store.", - "type": "string" - }, - "capacity": { - "description": "The capacity of data store in GBs.", - "type": "string" - }, - "freeSpace": { - "description": "The free space of data store in GBs.", - "type": "string" - }, - "type": { - "description": "The type of data store.", + "properties": { + "$ref": "#/definitions/RenewCertificateInputProperties", + "description": "Renew certificate input properties." + } + } + }, + "RenewCertificateInputProperties": { + "description": "Renew Certificate input properties.", + "type": "object", + "properties": { + "renewCertificateType": { + "description": "Renew certificate type.", "type": "string" } } }, - "VMwareV2FabricSpecificDetails": { - "description": "VMwareV2 fabric Specific Details.", + "ReplicationGroupDetails": { + "description": "Replication group details. This will be used in case of San and Wvr.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/ConfigurationSettings" } ], - "properties": { - "srsServiceEndpoint": { - "description": "The endpoint for making requests to the SRS Service.", - "type": "string" - }, - "rcmServiceEndpoint": { - "description": "The endpoint for making requests to the RCM Service.", - "type": "string" - }, - "keyVaultUrl": { - "description": "The Key Vault URL.", - "type": "string" - }, - "keyVaultResourceArmId": { - "description": "The Key Vault ARM Id.", - "type": "string" - } - }, - "x-ms-discriminator-value": "VMwareV2" + "properties": {}, + "x-ms-discriminator-value": "ReplicationGroupDetails" }, - "HyperVVirtualMachineDetails": { - "description": "Single Host fabric provider specific VM settings.", + "ReplicationProtectedItem": { + "description": "Replication protected item.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ConfigurationSettings" + "$ref": "#/definitions/Resource" } ], "properties": { - "sourceItemId": { - "description": "The source id of the object.", - "type": "string" - }, - "generation": { - "description": "The id of the object in fabric.", - "type": "string" - }, - "osDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The Last replication time." - }, - "diskDetails": { - "description": "The Last successful failover time.", + "properties": { + "$ref": "#/definitions/ReplicationProtectedItemProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectedItemCollection": { + "description": "Replication protected item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protected item details.", "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/ReplicationProtectedItem" } }, - "hasPhysicalDisk": { - "description": "A value indicating whether the VM has a physical disk attached.", - "type": "boolean" - }, - "hasFibreChannelAdapter": { - "description": "A value indicating whether the VM has a fibre channel adapter attached.", - "type": "boolean" - }, - "hasSharedVhd": { - "description": "A value indicating whether the VM has a shared VHD attached.", - "type": "boolean" + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "HyperVVirtualMachine" + } }, - "VmmVirtualMachineDetails": { - "description": "VMM fabric provider specific VM settings.", + "ReplicationProtectedItemProperties": { + "description": "Replication protected item custom data details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" - } - ], "properties": { - "sourceItemId": { - "description": "The source id of the object.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "generation": { - "description": "The id of the object in fabric.", + "protectedItemType": { + "description": "The type of protected item type.", "type": "string" }, - "osDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The Last replication time." + "protectableItemId": { + "description": "The protected item ARM Id.", + "type": "string" }, - "diskDetails": { - "description": "The Last successful failover time.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" - } + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" }, - "hasPhysicalDisk": { - "description": "A value indicating whether the VM has a physical disk attached.", - "type": "boolean" + "primaryFabricFriendlyName": { + "description": "The friendly name of the primary fabric.", + "type": "string" }, - "hasFibreChannelAdapter": { - "description": "A value indicating whether the VM has a fibre channel adapter attached.", - "type": "boolean" + "primaryFabricProvider": { + "description": "The fabric provider of the primary fabric.", + "type": "string" }, - "hasSharedVhd": { - "description": "A value indicating whether the VM has a shared VHD attached.", - "type": "boolean" - } - }, - "x-ms-discriminator-value": "VmmVirtualMachine" - }, - "VMwareVirtualMachineDetails": { - "description": "VMware provider specific settings", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" - } - ], - "properties": { - "agentGeneratedId": { - "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", + "recoveryFabricFriendlyName": { + "description": "The friendly name of recovery fabric.", "type": "string" }, - "agentInstalled": { - "description": "The value indicating if InMage scout agent is installed on guest.", + "recoveryFabricId": { + "description": "The Arm Id of recovery fabric.", "type": "string" }, - "osType": { - "description": "The OsType installed on VM.", + "primaryProtectionContainerFriendlyName": { + "description": "The name of primary protection container friendly name.", "type": "string" }, - "agentVersion": { - "description": "The agent version.", + "recoveryProtectionContainerFriendlyName": { + "description": "The name of recovery container friendly name.", "type": "string" }, - "ipAddress": { - "description": "The IP address.", + "protectionState": { + "description": "The protection status.", "type": "string" }, - "poweredOn": { - "description": "The value indicating whether VM is powered on.", + "protectionStateDescription": { + "description": "The protection state description.", "type": "string" }, - "vCenterInfrastructureId": { - "description": "The VCenter infrastructure Id.", + "activeLocation": { + "description": "The Current active location of the PE.", "type": "string" }, - "discoveryType": { - "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.", + "testFailoverState": { + "description": "The Test failover state.", "type": "string" }, - "diskDetails": { - "description": "The disk details.", + "testFailoverStateDescription": { + "description": "The Test failover state description.", + "type": "string" + }, + "allowedOperations": { + "description": "The allowed operations on the Replication protected item.", "type": "array", "items": { - "$ref": "#/definitions/InMageDiskDetails" + "type": "string" } }, - "validationErrors": { - "description": "The validation errors.", + "replicationHealth": { + "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", + "type": "string" + }, + "failoverHealth": { + "description": "The consolidated failover health for the VM.", + "type": "string" + }, + "healthErrors": { + "description": "List of health errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" } - } - }, - "x-ms-discriminator-value": "VMwareVirtualMachine" - }, - "InMageDiskDetails": { - "description": "VMware/Physical specific Disk Details", - "type": "object", - "properties": { - "diskId": { - "description": "The disk Id.", + }, + "policyId": { + "description": "The ID of Policy governing this PE.", "type": "string" }, - "diskName": { - "description": "The disk name.", + "policyFriendlyName": { + "description": "The name of Policy governing this PE.", + "type": "string" + }, + "lastSuccessfulFailoverTime": { + "format": "date-time", + "description": "The Last successful failover time.", + "type": "string" + }, + "lastSuccessfulTestFailoverTime": { + "format": "date-time", + "description": "The Last successful test failover time.", "type": "string" }, - "diskSizeInMB": { - "description": "The disk size in MB.", - "type": "string" + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario." }, - "diskType": { - "description": "Whether disk is system disk or data disk.", + "failoverRecoveryPointId": { + "description": "The recovery point ARM Id to which the Vm was failed over.", "type": "string" }, - "diskConfiguration": { - "description": "Whether disk is dynamic disk or basic disk.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProviderSpecificSettings", + "description": "The Replication provider custom settings." }, - "volumeList": { - "description": "Volumes of the disk.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskVolumeDetails" - } + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" } } }, - "DiskVolumeDetails": { - "description": "Volume details.", + "ReplicationProviderContainerUnmappingInput": { + "description": "Provider specific input for unpairing operations.", "type": "object", "properties": { - "label": { - "description": "The volume label.", - "type": "string" - }, - "name": { - "description": "The volume name.", + "instanceType": { + "description": "The class type.", "type": "string" } } }, - "ReplicationGroupDetails": { - "description": "Replication group details. This will be used in case of San and Wvr.", + "ReplicationProviderSpecificContainerCreationInput": { + "description": "Provider specific input for container creation operation.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" } - ], - "properties": {}, - "x-ms-discriminator-value": "ReplicationGroupDetails" + }, + "discriminator": "instanceType" }, - "InMageAzureV2RecoveryPointDetails": { - "description": "InMage Azure V2 provider specific recovery point details.", + "ReplicationProviderSpecificContainerMappingInput": { + "description": "Provider specific input for pairing operations.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" - } - ], "properties": { - "isMultiVmSyncPoint": { - "description": "A value indicating whether the recovery point is multi VM consistent.", + "instanceType": { + "description": "The class type.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "A2ARecoveryPointDetails": { - "description": "A2A provider specific recovery point details.", + "ReplicationProviderSpecificSettings": { + "description": "Replication provider specific settings.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true } - ], + }, + "discriminator": "instanceType" + }, + "Resource": { + "description": "Azure resource.", "properties": { - "recoveryPointSyncType": { - "description": "A value indicating whether the recovery point is multi VM consistent.", - "enum": [ - "MultiVmSyncRecoveryPoint", - "PerVmRecoveryPoint" - ], + "id": { + "description": "Resource Id", "type": "string", - "x-ms-enum": { - "name": "RecoveryPointSyncType", - "modelAsString": false - } + "readOnly": true + }, + "name": { + "description": "Resource Name", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource Type", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource Location", + "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "x-ms-azure-resource": true }, - "InMageDisableProtectionProviderSpecificInput": { - "description": "InMage disable protection provider specific input.", + "ResourceHealthSummary": { + "description": "Base class to define the health summary of the resources contained under an Arm resource.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + "properties": { + "resourceCount": { + "format": "int32", + "description": "The count of total resources umder the container.", + "type": "integer" + }, + "issues": { + "description": "The list of summary of health errors across the resources under the container.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorSummary" + } } - ], + } + }, + "ResumeJobParams": { + "description": "Resume job params.", + "type": "object", "properties": { - "replicaVmDeletionStatus": { - "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", - "type": "string" + "properties": { + "$ref": "#/definitions/ResumeJobParamsProperties", + "description": "Resume job properties." } - }, - "x-ms-discriminator-value": "InMage" + } }, - "HyperVReplicaAzureFailoverProviderInput": { - "description": "HvrA provider specific input for failover.", + "ResumeJobParamsProperties": { + "description": "Resume job properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "properties": { + "comments": { + "description": "Resume job comments.", + "type": "string" } - ], + } + }, + "RetentionVolume": { + "description": "The retention details of the MT.", + "type": "object", "properties": { - "vaultLocation": { - "description": "Location of the vault.", + "volumeName": { + "description": "The volume name.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "Primary kek certificate pfx.", - "type": "string" + "capacityInBytes": { + "format": "int64", + "description": "The volume capacity.", + "type": "integer" }, - "secondaryKekCertificatePfx": { - "description": "Secondary kek certificate pfx.", + "freeSpaceInBytes": { + "format": "int64", + "description": "The free space available in this volume.", + "type": "integer" + }, + "thresholdPercentage": { + "format": "int32", + "description": "The threshold percentage.", + "type": "integer" + } + } + }, + "ReverseReplicationInput": { + "description": "Reverse replication input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ReverseReplicationInputProperties", + "description": "Reverse replication properties" + } + } + }, + "ReverseReplicationInputProperties": { + "description": "Reverse replication input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "providerSpecificDetails": { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", + "description": "Provider specific reverse replication input." + } + } + }, + "ReverseReplicationProviderSpecificInput": { + "description": "Provider specific reverse replication input.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "HyperVReplicaAzureFailbackProviderInput": { - "description": "HvrA provider specific input for failback.", + "RoleAssignment": { + "description": "Azure role assignment details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], "properties": { - "dataSyncOption": { - "description": "Data sync option.", + "id": { + "description": "The ARM Id of the role assignment.", "type": "string" }, - "recoveryVmCreationOption": { - "description": "ALR options to create alternate recovery.", + "name": { + "description": "The name of the role assignment.", "type": "string" }, - "providerIdForAlternateRecovery": { - "description": "Provider ID for alternate location", + "scope": { + "description": "Role assignment scope.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "principalId": { + "description": "Principal Id.", + "type": "string" + }, + "roleDefinitionId": { + "description": "Role definition id.", + "type": "string" + } + } }, - "InMageAzureV2FailoverProviderInput": { - "description": "InMageAzureV2 provider specific input for failover.", + "RunAsAccount": { + "description": "CS Accounts Details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], "properties": { - "vaultLocation": { - "description": "Location of the vault.", + "accountId": { + "description": "The CS RunAs account Id.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "accountName": { + "description": "The CS RunAs account name.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageFailoverProviderInput": { - "description": "Provider specific input for InMage failover.", + "SanEnableProtectionInput": { + "description": "San enable protection provider specific input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" } ], - "properties": { - "recoveryPointType": { - "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", - "enum": [ - "LatestTime", - "LatestTag", - "Custom" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPointType", - "modelAsString": false - } - }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", - "type": "string" - } - }, - "x-ms-discriminator-value": "InMage" + "properties": {}, + "x-ms-discriminator-value": "San" }, - "A2AFailoverProviderInput": { - "description": "A2A provider specific input for failover.", + "ScriptActionTaskDetails": { + "description": "This class represents the script action task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "name": { + "description": "The name.", "type": "string" }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "path": { + "description": "The path.", "type": "string" + }, + "output": { + "description": "The output.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "ScriptActionTaskDetails" }, - "InMageAgentVersionDetails": { - "description": "InMage agent version details.", + "ServiceError": { + "description": "ASR error model", "type": "object", "properties": { - "postUpdateRebootStatus": { - "description": "A value indicating whether reboot is required after update is applied.", + "code": { + "description": "Error code.", "type": "string" }, - "version": { - "description": "The agent version.", + "message": { + "description": "Error message.", "type": "string" }, - "expiryDate": { - "format": "date-time", - "description": "Version expiry date.", + "possibleCauses": { + "description": "Possible causes of error.", "type": "string" }, - "status": { - "description": "A value indicating whether security update required.", - "enum": [ - "Supported", - "NotSupported", - "Deprecated", - "UpdateRequired", - "SecurityUpdateRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "AgentVersionStatus", - "modelAsString": false - } + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "activityId": { + "description": "Activity Id.", + "type": "string" } } }, - "HyperVReplicaAzureReprotectInput": { - "description": "Azure specific reprotect input.", + "StorageClassification": { + "description": "Storage object definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", - "type": "string" - }, - "vmName": { - "description": "The Vm Name.", - "type": "string" - }, - "osType": { - "description": "The OS type associated with vm.", - "type": "string" - }, - "vHDId": { - "description": "The OS disk VHD id associated with vm.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account name.", - "type": "string" + "properties": { + "$ref": "#/definitions/StorageClassificationProperties", + "description": "Proprties of the storage object." + } + } + }, + "StorageClassificationCollection": { + "description": "Collection of storage details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassification" + } }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "InMageAzureV2ReprotectInput": { - "description": "InMageAzureV2 specific provider input.", + "StorageClassificationMapping": { + "description": "Storage mapping object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "masterTargetId": { - "description": "The Master target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account id.", - "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id.", - "type": "string" - }, - "policyId": { - "description": "The Policy Id.", - "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", - "type": "string" - }, - "disksToInclude": { - "description": "The disks to include list.", + "properties": { + "$ref": "#/definitions/StorageClassificationMappingProperties", + "description": "Proprties of the storage mappping object." + } + } + }, + "StorageClassificationMappingCollection": { + "description": "Collection of storage mapping details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/StorageClassificationMapping" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageReprotectInput": { - "description": "InMageAzureV2 specific provider input.", - "required": [ - "masterTargetId", - "processServerId", - "retentionDrive", - "profileId" - ], + "StorageClassificationMappingInput": { + "description": "Storage mapping input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/StorageMappingInputProperties", + "description": "Storage mapping input properties." } - ], + } + }, + "StorageClassificationMappingProperties": { + "description": "Storage mapping properties.", + "type": "object", "properties": { - "masterTargetId": { - "description": "The Master Target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", + "targetStorageClassificationId": { + "description": "Target storage object Id.", "type": "string" - }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", + } + } + }, + "StorageClassificationProperties": { + "description": "Storage object properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the Storage classification.", "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id.", + } + } + }, + "StorageMappingInputProperties": { + "description": "Storage mapping input properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "The ID of the storage object.", "type": "string" - }, - "datastoreName": { - "description": "The target datastore name.", + } + } + }, + "Subnet": { + "description": "Subnets of the network.", + "type": "object", + "properties": { + "name": { + "description": "The subnet name.", "type": "string" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." - }, - "profileId": { - "description": "The Policy Id.", + "friendlyName": { + "description": "The subnet friendly name.", "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", + "addressList": { + "description": "The list of addresses for the subnet.", "type": "array", "items": { "type": "string" } } - }, - "x-ms-discriminator-value": "InMage" + } }, - "A2AReprotectInput": { - "description": "Azure specific reprotect input.", + "SwitchProtectionInput": { + "description": "Switch protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SwitchProtectionInputProperties", + "description": "Switch protection properties" + } + } + }, + "SwitchProtectionInputProperties": { + "description": "Switch protection input properties.", + "type": "object", + "properties": { + "replicationProtectedItemName": { + "description": "The unique replication protected item name.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", + "description": "Provider specific switch protection input." + } + } + }, + "SwitchProtectionJobDetails": { + "description": "This class represents details for switch protection job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", + "newReplicationProtectedItemId": { + "description": "ARM Id of the new replication protected item.", "type": "string" - }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } - }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", + } + }, + "x-ms-discriminator-value": "SwitchProtectionJobDetails" + }, + "SwitchProtectionProviderSpecificInput": { + "description": "Provider specific switch protection input.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "instanceType" + }, + "TargetComputeSize": { + "description": "Represents applicable recovery vm sizes.", + "type": "object", + "properties": { + "id": { + "description": "The Id.", "type": "string" }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "name": { + "description": "The name.", "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", + "type": { + "description": "The Type of the object.", "type": "string" }, - "policyId": { - "description": "The Policy Id.", - "type": "string" + "properties": { + "$ref": "#/definitions/TargetComputeSizeProperties", + "description": "The custom data." } - }, - "x-ms-discriminator-value": "A2A" + } }, - "HyperVReplicaAzureApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", + "TargetComputeSizeCollection": { + "description": "Target compute size collection.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + "properties": { + "value": { + "description": "The list of target compute sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetComputeSize" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - ], + } + }, + "TargetComputeSizeProperties": { + "description": "Represents applicable recovery vm sizes properties.", + "type": "object", "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", + "name": { + "description": "Target compute size name.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "The primary kek certificate pfx.", + "friendlyName": { + "description": "Target compute size display name.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "The secondary kek certificate pfx.", + "cpuCoresCount": { + "format": "int32", + "description": "The maximum cpu cores count supported by target compute size.", + "type": "integer" + }, + "memoryInGB": { + "format": "double", + "description": "The maximum memory in GB supported by target compute size.", + "type": "number" + }, + "maxDataDiskCount": { + "format": "int32", + "description": "The maximum data disks count supported by target compute size.", + "type": "integer" + }, + "maxNicsCount": { + "format": "int32", + "description": "The maximum Nics count supported by target compute size.", + "type": "integer" + }, + "errors": { + "description": "The reasons why the target compute size is not applicable for the protected item.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeSizeErrorDetails" + } + }, + "highIopsSupported": { + "description": "The value indicating whether the target compute size supports high Iops.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "InMageAzureV2ApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "TaskTypeDetails": { + "description": "Task details based on specific task type.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" - } - ], "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", + "instanceType": { + "description": "The type of task details.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "discriminator": "instanceType" }, - "A2AApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to A2A provider.", + "TestFailoverCleanupInput": { + "description": "Input definition for test failover cleanup.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverCleanupInputProperties", + "description": "Test failover cleanup input properties." } - ], - "properties": {}, - "x-ms-discriminator-value": "A2A" + } }, - "JobTaskDetails": { - "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", + "TestFailoverCleanupInputProperties": { + "description": "Input definition for test failover cleanup input properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "comments": { + "description": "Test failover cleanup comments.", + "type": "string" } - }, - "x-ms-discriminator-value": "JobTaskDetails" + } }, - "JobEntity": { - "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "TestFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", "properties": { - "jobId": { - "description": "The job id.", - "type": "string" - }, - "jobFriendlyName": { - "description": "The job display name.", + "properties": { + "$ref": "#/definitions/TestFailoverInputProperties", + "description": "Planned failover input properties" + } + } + }, + "TestFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "targetObjectId": { - "description": "The object id.", + "networkType": { + "description": "Network type to be used for test failover.", "type": "string" }, - "targetObjectName": { - "description": "The object name.", + "networkId": { + "description": "The id of the network to be used for test failover", "type": "string" }, - "targetInstanceType": { - "description": "The workflow affected object type.", + "skipTestFailoverCleanup": { + "description": "A value indicating whether the test failover cleanup is to be skipped.", "type": "string" }, - "jobScenarioName": { - "description": "The job name. Enum type ScenarioName.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" } } }, - "VirtualMachineTaskDetails": { - "description": "This class represents the virtual machine task details.", + "TestFailoverJobDetails": { + "description": "This class represents the details for a test failover job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "skippedReason": { - "description": "The skipped reason.", + "testFailoverStatus": { + "description": "The test failover status.", "type": "string" }, - "skippedReasonString": { - "description": "The skipped reason string.", + "comments": { + "description": "The test failover comments.", "type": "string" }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "networkName": { + "description": "The test network name.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The test network friendly name.", + "type": "string" + }, + "networkType": { + "description": "The test network type (see TestFailoverInput enum for possible values).", + "type": "string" + }, + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } } }, - "x-ms-discriminator-value": "VirtualMachineTaskDetails" + "x-ms-discriminator-value": "TestFailoverJobDetails" }, - "FabricReplicationGroupTaskDetails": { - "description": "This class represents the fabric replication group task details.", + "UnplannedFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UnplannedFailoverInputProperties", + "description": "Planned failover input properties" } - ], + } + }, + "UnplannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", "properties": { - "skippedReason": { - "description": "The skipped reason.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "skippedReasonString": { - "description": "The skipped reason string.", + "sourceSiteOperations": { + "description": "Source site operations status", "type": "string" }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificFailoverInput", + "description": "Provider specific settings" } - }, - "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + } }, - "ManualActionTaskDetails": { - "description": "This class represents the manual action task details.", + "UpdateMobilityServiceRequest": { + "description": "Request to update the mobility service on a protected item.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", + "description": "The properties of the update mobility service request." } - ], + } + }, + "UpdateMobilityServiceRequestProperties": { + "description": "The properties of an update mobility service request.", + "type": "object", "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "instructions": { - "description": "The instructions.", - "type": "string" - }, - "observation": { - "description": "The observation.", + "runAsAccountId": { + "description": "The CS run as account Id.", "type": "string" } - }, - "x-ms-discriminator-value": "ManualActionTaskDetails" + } }, - "ScriptActionTaskDetails": { - "description": "This class represents the script action task details.", + "UpdateNetworkMappingInput": { + "description": "Update network mapping input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateNetworkMappingInputProperties", + "description": "The input properties needed to update network mapping." } - ], + } + }, + "UpdateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "path": { - "description": "The path.", + "recoveryFabricName": { + "description": "Recovery fabric name.", "type": "string" }, - "output": { - "description": "The output.", + "recoveryNetworkId": { + "description": "Recovery network Id.", "type": "string" }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", + "description": "Fabrics specific input network Id." } - }, - "x-ms-discriminator-value": "ScriptActionTaskDetails" + } }, - "VmNicUpdatesTaskDetails": { - "description": "This class represents the vm NicUpdates task details.", + "UpdatePolicyInput": { + "description": "Update policy input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UpdatePolicyInputProperties", + "description": "The ReplicationProviderSettings." } - ], + } + }, + "UpdatePolicyInputProperties": { + "description": "Policy update properties.", + "type": "object", "properties": { - "vmId": { - "description": "Virtual machine Id.", - "type": "string" - }, - "nicId": { - "description": "Nic Id.", - "type": "string" - }, - "name": { - "description": "Name of the Nic.", - "type": "string" + "replicationProviderSettings": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." } - }, - "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + } }, - "ConsistencyCheckTaskDetails": { - "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", + "UpdateRecoveryPlanInput": { + "description": "Update recovery plan input class.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", + "description": "Recovery plan update properties." } - ], + } + }, + "UpdateRecoveryPlanInputProperties": { + "description": "Recovery plan updation properties.", + "type": "object", "properties": { - "vmDetails": { - "description": "The list of inconsistent Vm details.", + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/InconsistentVmDetails" + "$ref": "#/definitions/RecoveryPlanGroup" } } - }, - "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + } }, - "InconsistentVmDetails": { - "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", + "UpdateReplicationProtectedItemInput": { + "description": "Update replication protected item input.", "type": "object", "properties": { - "vmName": { - "description": "The Vm name.", - "type": "string" - }, - "cloudName": { - "description": "The Cloud name.", - "type": "string" - }, - "details": { - "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", - "type": "array", - "items": { - "type": "string" - } - }, - "errorIds": { - "description": "The list of error ids.", - "type": "array", - "items": { - "type": "string" - } + "properties": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", + "description": "Update replication protected item properties." } } }, - "AutomationRunbookTaskDetails": { - "description": "This class represents the task details for an automation runbook.", + "UpdateReplicationProtectedItemInputProperties": { + "description": "Update protected item input properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "name": { - "description": "The recovery plan task name.", + "recoveryAzureVMName": { + "description": "Target azure VM name given by the user.", "type": "string" }, - "cloudServiceName": { - "description": "The cloud service of the automation runbook account.", + "recoveryAzureVMSize": { + "description": "Target Azure Vm size.", "type": "string" }, - "subscriptionId": { - "description": "The subscription Id of the automation runbook account.", + "selectedRecoveryAzureNetworkId": { + "description": "Target Azure Network Id.", "type": "string" }, - "accountName": { - "description": "The automation account name of the runbook.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" }, - "runbookId": { - "description": "The runbook Id.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", "type": "string" }, - "runbookName": { - "description": "The runbook name.", - "type": "string" + "vmNics": { + "description": "The list of vm nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicInputDetails" + } }, - "jobId": { - "description": "The job Id of the runbook execution.", - "type": "string" + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": false + } }, - "jobOutput": { - "description": "The execution output of the runbook.", + "recoveryAvailabilitySetId": { + "description": "The target availability set id.", "type": "string" }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", + "description": "The provider specific input to update replication protected item." } - }, - "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + } }, - "InlineWorkflowTaskDetails": { - "description": "This class represents the inline workflow task details.", + "UpdateReplicationProtectedItemProviderInput": { + "description": "Update replication protected item provider specific input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GroupTaskDetails" - } - ], "properties": { - "workflowIds": { - "description": "The list of child workflow ids.", - "type": "array", - "items": { - "type": "string" - } + "instanceType": { + "description": "The class type.", + "type": "string" } }, - "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + "discriminator": "instanceType" }, - "RecoveryPlanGroupTaskDetails": { - "description": "This class represents the recovery plan group task.", + "UpdateVCenterRequest": { + "description": "Input required to update vCenter.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GroupTaskDetails" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateVCenterRequestProperties", + "description": "The update VCenter Request Properties." } - ], + } + }, + "UpdateVCenterRequestProperties": { + "description": "The properties of an update vCenter request.", + "type": "object", "properties": { - "name": { - "description": "The name.", + "friendlyName": { + "description": "The friendly name of the vCenter.", "type": "string" }, - "groupId": { - "description": "The group identifier.", + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", "type": "string" }, - "rpGroupType": { - "description": "The group type.", + "processServerId": { + "description": "The process server Id from where the update can be orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id which has priviliges to update the vCenter.", "type": "string" } - }, - "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" + } }, - "RecoveryPlanShutdownGroupTaskDetails": { - "description": "This class represents the recovery plan shutdown group task details.", + "VaultHealthDetails": { + "description": "Vault health details definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/GroupTaskDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "name": { - "description": "The name.", - "type": "string" + "properties": { + "$ref": "#/definitions/VaultHealthProperties", + "description": "The vault health related data." + } + } + }, + "VaultHealthProperties": { + "description": "class to define the health summary of the Vault.", + "type": "object", + "properties": { + "vaultErrors": { + "description": "The list of errors on the vault.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "groupId": { - "description": "The group identifier.", - "type": "string" + "protectedItemsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the protected items in the vault." }, - "rpGroupType": { - "description": "The group type.", - "type": "string" + "fabricsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the fabrics in the vault." } - }, - "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + } }, - "AsrJobDetails": { - "description": "This class represents job details based on specific job type.", + "VCenter": { + "description": "vCenter definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/Resource" } ], - "properties": {}, - "x-ms-discriminator-value": "AsrJobDetails" + "properties": { + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "VCenter related data." + } + } }, - "TestFailoverJobDetails": { - "description": "This class represents the details for a test failover job.", + "VCenterCollection": { + "description": "Collection of vCenter details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/JobDetails" - } - ], "properties": { - "testFailoverStatus": { - "description": "The test failover status.", - "type": "string" + "value": { + "description": "The vCenter details.", + "type": "array", + "items": { + "$ref": "#/definitions/VCenter" + } }, - "comments": { - "description": "The test failover comments.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "networkName": { - "description": "The test network name.", + } + } + }, + "VCenterProperties": { + "description": "vCenter properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the vCenter.", "type": "string" }, - "networkFriendlyName": { - "description": "The test network friendly name.", + "internalId": { + "description": "VCenter internal ID.", "type": "string" }, - "networkType": { - "description": "The test network type (see TestFailoverInput enum for possible values).", + "lastHeartbeat": { + "format": "date-time", + "description": "The time when the last heartbeat was reveived by vCenter.", "type": "string" }, - "protectedItemDetails": { - "description": "The test VM details.", - "type": "array", - "items": { - "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" - } - } - }, - "x-ms-discriminator-value": "TestFailoverJobDetails" - }, - "FailoverReplicationProtectedItemDetails": { - "description": "Failover details for a replication protected item.", - "type": "object", - "properties": { - "name": { - "description": "The name.", + "discoveryStatus": { + "description": "The VCenter discovery status.", "type": "string" }, - "friendlyName": { - "description": "The friendly name.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "testVmName": { - "description": "The test Vm name.", + "ipAddress": { + "description": "The IP address of the vCenter.", "type": "string" }, - "testVmFriendlyName": { - "description": "The test Vm friendly name.", + "infrastructureId": { + "description": "The infrastructure Id of vCenter.", "type": "string" }, - "networkConnectionStatus": { - "description": "The network connection status.", + "port": { + "description": "The port number for discovery.", "type": "string" }, - "networkFriendlyName": { - "description": "The network friendly name.", + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", "type": "string" }, - "subnet": { - "description": "The network subnet.", + "fabricArmResourceName": { + "description": "The ARM resource name of the fabric containing this VCenter.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point Id.", + "healthErrors": { + "description": "The health errors for this VCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "VersionDetails": { + "description": "Version related deatils.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", "type": "string" }, - "recoveryPointTime": { + "expiryDate": { "format": "date-time", - "description": "The recovery point time.", + "description": "Version expiry date.", "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": false + } } } }, - "FailoverJobDetails": { - "description": "This class represents the details for a failover job.", + "VirtualMachineTaskDetails": { + "description": "This class represents the virtual machine task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "protectedItemDetails": { - "description": "The test VM details.", - "type": "array", - "items": { - "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" - } + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + }, + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } }, - "x-ms-discriminator-value": "FailoverJobDetails" + "x-ms-discriminator-value": "VirtualMachineTaskDetails" }, - "ExportJobDetails": { - "description": "This class represents details for export jobs workflow.", + "VmmDetails": { + "description": "VMM fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/FabricSpecificDetails" } ], - "properties": { - "blobUri": { - "description": "BlobUri of the exported jobs.", - "type": "string" - }, - "sasToken": { - "description": "The sas token to access blob.", - "type": "string" + "properties": {}, + "x-ms-discriminator-value": "VMM" + }, + "VmmToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } - }, - "x-ms-discriminator-value": "ExportJobDetails" + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" }, - "SwitchProtectionJobDetails": { - "description": "This class represents details for switch protection job.", + "VmmToAzureNetworkMappingSettings": { + "description": "E2A Network Mapping fabric specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" } ], - "properties": { - "newReplicationProtectedItemId": { - "description": "ARM Id of the new replication protected item.", - "type": "string" + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToAzureUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to azure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" } - }, - "x-ms-discriminator-value": "SwitchProtectionJobDetails" + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" }, - "A2AContainerCreationInput": { - "description": "A2A cloud creation input.", + "VmmToVmmCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } ], "properties": {}, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VmmToVmm" }, - "A2ASwitchProtectionInput": { - "description": "A2A specific switch protection input.", + "VmmToVmmNetworkMappingSettings": { + "description": "E2E Network Mapping fabric specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmVirtualMachineDetails": { + "description": "VMM fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" } ], "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", + "sourceItemId": { + "description": "The source id of the object.", "type": "string" }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } + "generation": { + "description": "The id of the object in fabric.", + "type": "string" }, - "vmManagedDisks": { - "description": "The list of vm managed disk details.", + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + "$ref": "#/definitions/DiskDetails" } }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached.", + "type": "boolean" + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached.", + "type": "boolean" + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "VmmVirtualMachine" + }, + "VMNicDetails": { + "description": "Hyper V VM network details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", "type": "string" }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "replicaNicId": { + "description": "The replica nic Id.", "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", + "sourceNicArmId": { + "description": "The source nic ARM Id.", "type": "string" }, - "policyId": { - "description": "The Policy Id.", + "vMSubnetName": { + "description": "VM subnet name.", "type": "string" }, - "recoveryBootDiagStorageAccountId": { - "description": "The boot diagnostic storage account.", + "vMNetworkName": { + "description": "VM network name.", + "type": "string" + }, + "recoveryVMNetworkId": { + "description": "Recovery VM network Id.", + "type": "string" + }, + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", + "type": "string" + }, + "ipAddressType": { + "description": "Ip address type.", + "type": "string" + }, + "primaryNicStaticIPAddress": { + "description": "Primary nic static IP address.", + "type": "string" + }, + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", + "type": "string" + }, + "selectionType": { + "description": "Selection type for failover.", + "type": "string" + }, + "recoveryNicIpAddressType": { + "description": "IP allocation type for recovery VM.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "Resource": { - "description": "Azure resource.", - "properties": { - "id": { - "description": "Resource Id", - "type": "string", - "readOnly": true + "VMNicInputDetails": { + "description": "Hyper V VM network input details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", + "type": "string" }, - "name": { - "description": "Resource Name", - "type": "string", - "readOnly": true + "recoveryVMSubnetName": { + "description": "Recovery VM subnet name.", + "type": "string" }, - "type": { - "description": "Resource Type", - "type": "string", - "readOnly": true + "replicaNicStaticIPAddress": { + "description": "Replica nic static IP address.", + "type": "string" }, - "location": { - "description": "Resource Location", + "selectionType": { + "description": "Selection type for failover.", "type": "string" } - }, - "x-ms-azure-resource": true + } }, - "RecoveryPlanScriptActionDetails": { - "description": "Recovery plan script action details.", - "required": [ - "path", - "fabricLocation" - ], + "VmNicUpdatesTaskDetails": { + "description": "This class represents the vm NicUpdates task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "path": { - "description": "The script path.", + "vmId": { + "description": "Virtual machine Id.", "type": "string" }, - "timeout": { - "description": "The script timeout.", + "nicId": { + "description": "Nic Id.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", - "enum": [ - "Primary", - "Recovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false - } + "name": { + "description": "Name of the Nic.", + "type": "string" } }, - "x-ms-discriminator-value": "ScriptActionDetails" + "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" }, - "RecoveryPlanAutomationRunbookActionDetails": { - "description": "Recovery plan Automation runbook action details.", - "required": [ - "fabricLocation" - ], + "VMwareCbtPolicyCreationInput": { + "description": "VMware Cbt Policy creation input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/PolicyProviderSpecificInput" } ], "properties": { - "runbookId": { - "description": "The runbook ARM Id.", - "type": "string" + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "timeout": { - "description": "The runbook timeout.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" }, - "fabricLocation": { - "description": "The fabric location.", - "enum": [ - "Primary", - "Recovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false - } + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" } }, - "x-ms-discriminator-value": "AutomationRunbookActionDetails" + "x-ms-discriminator-value": "VMwareCbt" }, - "RecoveryPlanManualActionDetails": { - "description": "Recovery plan manual action details.", + "VmwareCbtPolicyDetails": { + "description": "VMware Cbt specific policy details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "description": { - "description": "The manual action description.", - "type": "string" + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" } }, - "x-ms-discriminator-value": "ManualActionDetails" + "x-ms-discriminator-value": "VMwareCbt" }, - "RecoveryPlanHyperVReplicaAzureFailoverInput": { - "description": "Recovery plan HVR Azure failover input.", - "required": [ - "vaultLocation" - ], + "VMwareDetails": { + "description": "Store the fabric details specific to the VMware fabric.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FabricSpecificDetails" } ], "properties": { - "vaultLocation": { - "description": "The vault location.", + "processServers": { + "description": "The list of Process Servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServer" + } + }, + "masterTargetServers": { + "description": "The list of Master Target servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/MasterTargetServer" + } + }, + "runAsAccounts": { + "description": "The list of run as accounts created on the server.", + "type": "array", + "items": { + "$ref": "#/definitions/RunAsAccount" + } + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this CS.", + "type": "string" + }, + "processServerCount": { + "description": "The number of process servers.", + "type": "string" + }, + "agentCount": { + "description": "The number of source and target servers configured to talk to this CS.", + "type": "string" + }, + "protectedServers": { + "description": "The number of protected servers.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "webLoad": { + "description": "The web load.", + "type": "string" + }, + "webLoadStatus": { + "description": "The web load status.", + "type": "string" + }, + "databaseServerLoad": { + "description": "The database server load.", + "type": "string" + }, + "databaseServerLoadStatus": { + "description": "The database server load status.", + "type": "string" + }, + "csServiceStatus": { + "description": "The CS service status.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent Version.", + "type": "string" + }, + "hostName": { + "description": "The host name.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from CS server.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "The primary KEK certificate PFX.", + "versionStatus": { + "description": "Version status", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "The secondary KEK certificate PFX.", + "sslCertExpiryDate": { + "format": "date-time", + "description": "CS SSL cert expiry date.", "type": "string" }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "HyperVReplicaAzureRpRecoveryPointType", - "modelAsString": false - } + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "psTemplateVersion": { + "description": "PS template version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "x-ms-discriminator-value": "VMware" }, - "RecoveryPlanHyperVReplicaAzureFailbackInput": { - "description": "Recovery plan HVR Azure failback input.", - "required": [ - "dataSyncOption", - "recoveryVmCreationOption" - ], + "VMwareV2FabricCreationInput": { + "description": "Fabric provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FabricSpecificCreationInput" } ], "properties": { - "dataSyncOption": { - "description": "The data sync option.", - "enum": [ - "ForDownTime", - "ForSynchronization" - ], - "type": "string", - "x-ms-enum": { - "name": "DataSyncStatus", - "modelAsString": false - } + "keyVaultUrl": { + "description": "The Key Vault URL.", + "type": "string" }, - "recoveryVmCreationOption": { - "description": "The ALR option.", - "enum": [ - "CreateVmIfNotFound", - "NoAction" - ], - "type": "string", - "x-ms-enum": { - "name": "AlternateLocationRecoveryOption", - "modelAsString": false - } + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", + "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + "x-ms-discriminator-value": "VMwareV2" }, - "RecoveryPlanInMageAzureV2FailoverInput": { - "description": "Recovery plan InMageAzureV2 failover input.", - "required": [ - "vaultLocation", - "recoveryPointType" - ], + "VMwareV2FabricSpecificDetails": { + "description": "VMwareV2 fabric Specific Details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FabricSpecificDetails" } ], "properties": { - "vaultLocation": { - "description": "The vault location.", + "srsServiceEndpoint": { + "description": "The endpoint for making requests to the SRS Service.", "type": "string" }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "InMageV2RpRecoveryPointType", - "modelAsString": false - } + "rcmServiceEndpoint": { + "description": "The endpoint for making requests to the RCM Service.", + "type": "string" }, - "useMultiVmSyncPoint": { - "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "keyVaultUrl": { + "description": "The Key Vault URL.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The Key Vault ARM Id.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" - }, - "RecoveryPlanInMageFailoverInput": { - "description": "Recovery plan InMage failover input.", - "required": [ - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "LatestTime", - "LatestTag", - "Custom" - ], - "type": "string", - "x-ms-enum": { - "name": "RpInMageRecoveryPointType", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "VMwareV2" }, - "RecoveryPlanA2AFailoverInput": { - "description": "Recovery plan A2A failover input.", - "required": [ - "recoveryPointType" - ], + "VMwareVirtualMachineDetails": { + "description": "VMware provider specific settings", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/ConfigurationSettings" } ], "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "A2ARpRecoveryPointType", - "modelAsString": false - } + "agentGeneratedId": { + "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", + "type": "string" }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "agentInstalled": { + "description": "The value indicating if InMage scout agent is installed on guest.", "type": "string" }, - "multiVmSyncPointOption": { - "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", - "enum": [ - "UseMultiVmSyncRecoveryPoint", - "UsePerVmRecoveryPoint" - ], - "type": "string", - "x-ms-enum": { - "name": "MultiVmSyncPointOption", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "A2A" - }, - "AzureFabricCreationInput": { - "description": "Fabric provider specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreationInput" - } - ], - "properties": { - "location": { - "description": "The Location.", + "osType": { + "description": "The OsType installed on VM.", "type": "string" - } - }, - "x-ms-discriminator-value": "Azure" - }, - "VMwareV2FabricCreationInput": { - "description": "Fabric provider specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreationInput" - } - ], - "properties": { - "keyVaultUrl": { - "description": "The Key Vault URL.", + }, + "agentVersion": { + "description": "The agent version.", "type": "string" }, - "keyVaultResourceArmId": { - "description": "The Key Vault ARM Id.", + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "poweredOn": { + "description": "The value indicating whether VM is powered on.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The VCenter infrastructure Id.", + "type": "string" + }, + "discoveryType": { + "description": "A value inidicating the discovery type of the machine. Value can be vCenter or physical.", "type": "string" + }, + "diskDetails": { + "description": "The disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskDetails" + } + }, + "validationErrors": { + "description": "The validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } } }, - "x-ms-discriminator-value": "VMwareV2" + "x-ms-discriminator-value": "VMwareVirtualMachine" } }, "parameters": {