/*
* 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.List;
import com.emc.storageos.model.network.NetworkSystemCreate;
import com.emc.storageos.model.network.NetworkSystemRestRep;
import com.emc.storageos.model.network.NetworkSystemUpdate;
import com.emc.vipr.client.Task;
import com.emc.vipr.client.core.util.CachedResources;
import com.emc.vipr.client.exceptions.ViPRHttpException;
public class NetworkSystemUtils {
public static CachedResources<NetworkSystemRestRep> createCache() {
return new CachedResources<NetworkSystemRestRep>(getViprClient().networkSystems());
}
public static NetworkSystemRestRep getNetworkSystem(String id) {
return getNetworkSystem(uri(id));
}
public static NetworkSystemRestRep getNetworkSystem(URI id) {
try {
return getViprClient().networkSystems().get(id);
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
return null;
}
throw e;
}
}
public static List<NetworkSystemRestRep> getNetworkSystems() {
return getViprClient().networkSystems().getAll();
}
public static List<NetworkSystemRestRep> getNetworkSystems(List<URI> ids) {
return getViprClient().networkSystems().getByIds(ids);
}
public static NetworkSystemRestRep register(URI id) {
return getViprClient().networkSystems().register(id);
}
public static NetworkSystemRestRep deregister(URI id) {
return getViprClient().networkSystems().deregister(id);
}
public static Task<NetworkSystemRestRep> deactivate(URI id) {
return getViprClient().networkSystems().deactivate(id);
}
public static Task<NetworkSystemRestRep> discover(URI id) {
return getViprClient().networkSystems().discover(id);
}
public static Task<NetworkSystemRestRep> create(NetworkSystemCreate networkSystem) {
return getViprClient().networkSystems().create(networkSystem);
}
public static Task<NetworkSystemRestRep> update(String id, NetworkSystemUpdate networkSystem) {
return getViprClient().networkSystems().update(uri(id), networkSystem);
}
}