/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.emc.sa.service.vipr.block.tasks;
import java.net.URI;
import com.emc.sa.service.vipr.tasks.WaitForTasks;
import com.emc.storageos.model.block.BlockSnapshotRestRep;
import com.emc.storageos.model.block.VolumeFullCopyCreateParam;
import com.emc.vipr.client.Tasks;
public class CreateSnapshotFullCopy extends WaitForTasks<BlockSnapshotRestRep> {
private final URI snapshotId;
private final String name;
private final int count;
public CreateSnapshotFullCopy(String snapshotId, String name, int count) {
this(uri(snapshotId), name, count);
}
public CreateSnapshotFullCopy(URI snapshotId, String name, int count) {
this.snapshotId = snapshotId;
this.name = name;
this.count = count;
provideDetailArgs(snapshotId, name, count);
}
@Override
protected Tasks<BlockSnapshotRestRep> doExecute() throws Exception {
VolumeFullCopyCreateParam param = new VolumeFullCopyCreateParam();
param.setName(name);
param.setCount(count);
return getClient().blockSnapshots().createFullCopy(snapshotId, param);
}
}