package io.fathom.cloud.network; import io.fathom.cloud.CloudException; import io.fathom.cloud.protobuf.NetworkingModel.NetworkData; import io.fathom.cloud.protobuf.NetworkingModel.SubnetData; import io.fathom.cloud.server.auth.Auth; import java.util.List; import javax.ws.rs.core.Response.Status; public interface NetworkService { NetworkData updateNetwork(Auth auth, long id, NetworkData.Builder builder) throws CloudException; NetworkData createNetwork(Auth auth, NetworkData.Builder builder) throws CloudException; List<NetworkData> listNetworks(Auth auth) throws CloudException; NetworkData findNetwork(Auth auth, long id) throws CloudException; Status deleteNetwork(Auth auth, long id); SubnetData findSubnet(Auth auth, long id) throws CloudException; List<SubnetData> listSubnets(Auth auth) throws CloudException; SubnetData createSubnet(Auth auth, SubnetData.Builder b) throws CloudException; }