/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package util;
import static com.emc.vipr.client.core.util.ResourceUtils.*;
import static util.BourneUtil.getViprClient;
import java.net.URI;
import java.util.List;
import com.emc.storageos.model.NamedRelatedResourceRep;
import com.emc.storageos.model.RelatedResourceRep;
import com.emc.storageos.model.block.BlockConsistencyGroupCreate;
import com.emc.storageos.model.block.BlockConsistencyGroupRestRep;
import com.emc.storageos.model.block.BlockConsistencyGroupUpdate;
import com.emc.vipr.client.Task;
import com.emc.vipr.client.exceptions.ViPRHttpException;
public class BlockConsistencyGroupUtils {
public static BlockConsistencyGroupRestRep getBlockConsistencyGroup(String id) {
try {
return getBlockConsistencyGroup(uri(id));
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
return null;
}
throw e;
}
}
public static BlockConsistencyGroupRestRep getBlockConsistencyGroup(URI id) {
return getViprClient().blockConsistencyGroups().get(id);
}
public static NamedRelatedResourceRep getBlockConsistencyGroupRef(RelatedResourceRep ref) {
return getBlockConsistencyGroupRef(id(ref));
}
public static NamedRelatedResourceRep getBlockConsistencyGroupRef(URI id) {
return createNamedRef(getViprClient().blockConsistencyGroups().get(id));
}
public static List<BlockConsistencyGroupRestRep> getBlockConsistencyGroups(String projectId) {
return getViprClient().blockConsistencyGroups().findByProject(uri(projectId));
}
public static List<BlockConsistencyGroupRestRep> getBlockConsistencyGroups(List<URI> ids) {
return getViprClient().blockConsistencyGroups().getByIds(ids);
}
public static Task<BlockConsistencyGroupRestRep> deactivate(URI id) {
return getViprClient().blockConsistencyGroups().deactivate(id);
}
public static BlockConsistencyGroupRestRep create(BlockConsistencyGroupCreate group) {
return getViprClient().blockConsistencyGroups().create(group);
}
public static Task<BlockConsistencyGroupRestRep> update(String id, BlockConsistencyGroupUpdate group) {
return getViprClient().blockConsistencyGroups().update(uri(id), group);
}
}