/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller;
import java.net.URI;
import java.util.List;
import com.emc.storageos.db.client.model.StorageSystem;
public interface CloneOperations
{
public static final String CREATE_ERROR_MSG_FORMAT = "Failed to create single full copy of %s to %s";
public static final String ACTIVATE_ERROR_MSG_FORMAT = "Failed to activate single full copy %s";
public static final String DETACH_ERROR_MSG_FORMAT = "Failed to detach full copy %s from source %s";
public static final String RESTORE_ERROR_MSG_FORMAT = "Failed to restore full copy %s";
public void createSingleClone(StorageSystem storageSystem, URI sourceVolume, URI cloneVolume,
Boolean createInactive, TaskCompleter taskCompleter);
public void detachSingleClone(StorageSystem storageSystem, URI cloneVolume,
TaskCompleter taskCompleter);
public void activateSingleClone(StorageSystem storageSystem, URI fullCopy, TaskCompleter completer);
public void restoreFromSingleClone(StorageSystem storageSystem, URI clone, TaskCompleter completer);
public void fractureSingleClone(StorageSystem storageSystem, URI sourceVolume, URI clone, TaskCompleter completer);
public void resyncSingleClone(StorageSystem storageSystem, URI clone, TaskCompleter completer);
public void createGroupClone(StorageSystem storage, List<URI> cloneList, Boolean createInactive, TaskCompleter taskCompleter);
public void activateGroupClones(StorageSystem storage, List<URI> clone, TaskCompleter taskCompleter);
public void restoreGroupClones(StorageSystem storageSystem, List<URI> clone, TaskCompleter completer);
public void fractureGroupClones(StorageSystem storageSystem, List<URI> clone, TaskCompleter completer);
public void resyncGroupClones(StorageSystem storageSystem, List<URI> clone, TaskCompleter completer);
public void detachGroupClones(StorageSystem storageSystem, List<URI> clone, TaskCompleter completer);
public void establishVolumeCloneGroupRelation(StorageSystem storageSystem, URI sourceVolume, URI clone, TaskCompleter completer);
}