private void MoveRecoveryPoint(Dictionary <Enum, object> ProviderData) { string vaultName = (string)ProviderData[VaultParams.VaultName]; string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName]; string recoveryPointId = (string)ProviderData[RecoveryPointParams.RecoveryPointId]; RecoveryPointTier SourceTier = (RecoveryPointTier)ProviderData[RecoveryPointParams.SourceTier]; RecoveryPointTier TargetTier = (RecoveryPointTier)ProviderData[RecoveryPointParams.TargetTier]; Dictionary <UriEnums, string> uriDict = HelperUtils.ParseUri(recoveryPointId); string containerUri = HelperUtils.GetContainerUri(uriDict, recoveryPointId); string protectedItemName = HelperUtils.GetProtectedItemUri(uriDict, recoveryPointId); recoveryPointId = uriDict[UriEnums.RecoveryPoints]; ServiceClientModel.MoveRPAcrossTiersRequest moveRPAcrossTiersRequest = new ServiceClientModel.MoveRPAcrossTiersRequest(); moveRPAcrossTiersRequest.SourceTierType = RecoveryPointConversions.GetServiceClientRecoveryPointTier(SourceTier); moveRPAcrossTiersRequest.TargetTierType = RecoveryPointConversions.GetServiceClientRecoveryPointTier(TargetTier); var response = ServiceClientAdapter.MoveRecoveryPoint( containerUri, protectedItemName, moveRPAcrossTiersRequest, recoveryPointId, vaultName, resourceGroupName ); HandleCreatedJob( response, Resources.MoveRPOperation, vaultName: vaultName, resourceGroupName: resourceGroupName); }