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);
        }