/*
* Copyright (c) 2016 EMC
* All Rights Reserved
*/
package com.emc.sa.service.vipr.application;
import java.net.URI;
import java.util.List;
import com.emc.sa.engine.bind.Param;
import com.emc.sa.engine.service.Service;
import com.emc.sa.service.ServiceParams;
import com.emc.sa.service.vipr.ViPRService;
import com.emc.sa.service.vipr.block.BlockStorageUtils;
import com.emc.storageos.model.block.VolumeDeleteTypeEnum;
@Service("RemoveApplicationFullCopy")
public class RemoveApplicationFullCopyService extends ViPRService {
@Param(ServiceParams.APPLICATION)
private URI applicationId;
@Param(ServiceParams.APPLICATION_COPY_SETS)
protected String name;
@Param(ServiceParams.APPLICATION_SUB_GROUP)
protected List<String> subGroups;
@Override
public void execute() throws Exception {
List<URI> fullCopyIds = BlockStorageUtils.getSingleFullCopyPerSubGroupAndStorageSystem(applicationId, name,
subGroups);
List<URI> allFullCopyIds = BlockStorageUtils.getAllFullCopyVolumes(applicationId, name, subGroups);
BlockStorageUtils.detachFullCopies(fullCopyIds);
BlockStorageUtils.removeBlockResources(allFullCopyIds, VolumeDeleteTypeEnum.FULL);
}
}