/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package util;
import static com.emc.vipr.client.core.util.ResourceUtils.uri;
import static util.BourneUtil.getViprClient;
import java.net.URI;
import java.util.Collection;
import java.util.List;
import com.emc.storageos.model.compute.ComputeImageServerCreate;
import com.emc.storageos.model.compute.ComputeImageServerRestRep;
import com.emc.storageos.model.compute.ComputeImageServerUpdate;
import com.emc.vipr.client.Task;
import com.emc.vipr.client.exceptions.ViPRHttpException;
public class ComputeImageServerUtils {
private static final String NAME_NOT_AVAILABLE = "ComputeImageServer.nameNotAvailable";
public static ComputeImageServerRestRep getComputeImageServer(String id) {
return getComputeImageServer(uri(id));
}
public static ComputeImageServerRestRep getComputeImageServer(URI id) {
try {
return getViprClient().computeImageServers().get(id);
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
return null;
}
throw e;
}
}
public static ComputeImageServerRestRep getComputeImageServerByName(String name) {
try {
ComputeImageServerRestRep computeImageServer = null;
List<ComputeImageServerRestRep> computeImageServersList = getComputeImageServers();
for (ComputeImageServerRestRep cisrr : computeImageServersList) {
if (cisrr.getName().equalsIgnoreCase(name)) {
computeImageServer = cisrr;
}
}
return computeImageServer;
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
return null;
}
throw e;
}
}
public static List<ComputeImageServerRestRep> getComputeImageServers() {
return getViprClient().computeImageServers().getAll();
}
public static List<ComputeImageServerRestRep> getComputeImageServers(Collection<URI> ids) {
return getViprClient().computeImageServers().getByIds(ids);
}
public static Task<ComputeImageServerRestRep> create(ComputeImageServerCreate param) {
return getViprClient().computeImageServers().create(param);
}
public static ComputeImageServerRestRep update(String id, ComputeImageServerUpdate param) {
return getViprClient().computeImageServers().update(uri(id), param);
}
public static void deactivate(URI id) {
getViprClient().computeImageServers().deactivate(id);
}
}