/*
* 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.BlockSnapshotSessionRestRep;
import com.emc.storageos.model.block.VolumeDeleteTypeEnum;
import com.emc.vipr.client.Tasks;
public class DeactivateBlockSnapshotSession extends WaitForTasks<BlockSnapshotSessionRestRep> {
private final URI snapshotSessionId;
private VolumeDeleteTypeEnum type = VolumeDeleteTypeEnum.FULL;
public DeactivateBlockSnapshotSession(String snapshotSessionId) {
this(uri(snapshotSessionId));
}
public DeactivateBlockSnapshotSession(URI snapshotSessionId) {
super();
this.snapshotSessionId = snapshotSessionId;
provideDetailArgs(snapshotSessionId, type);
}
public DeactivateBlockSnapshotSession(URI snapshotSessionId, VolumeDeleteTypeEnum type) {
super();
this.snapshotSessionId = snapshotSessionId;
this.type = type;
provideDetailArgs(snapshotSessionId, type);
}
@Override
protected Tasks<BlockSnapshotSessionRestRep> doExecute() throws Exception {
return getClient().blockSnapshotSessions().deactivate(snapshotSessionId, type);
}
}