/* * 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.CopiesParam; import com.emc.storageos.model.block.Copy; import com.emc.storageos.model.block.VolumeRestRep; import com.emc.vipr.client.Tasks; public class CreateContinuousCopy extends WaitForTasks<VolumeRestRep> { private URI volumeId; private String name; private int count; private String type; private URI copyId; public CreateContinuousCopy(URI volumeId, String name, int count, String type) { this.volumeId = volumeId; this.name = name; this.count = count; this.type = type; provideDetailArgs(volumeId, name, count, type, null); } public CreateContinuousCopy(URI volumeId, String name, int count, String type, URI copyId) { this(volumeId, name, count, type); this.copyId = copyId; provideDetailArgs(volumeId, name, count, type, copyId); } @Override protected Tasks<VolumeRestRep> doExecute() throws Exception { Copy copy = new Copy(); if (name != null) { copy.setName(name); } copy.setName(name); copy.setCount(count); copy.setType(type); if (copyId != null) { copy.setCopyID(copyId); } CopiesParam param = new CopiesParam(); param.getCopies().add(copy); return getClient().blockVolumes().startContinuousCopies(volumeId, param); } }