package io.fathom.cloud.network;
import io.fathom.cloud.OpenstackExtensionBase;
import io.fathom.cloud.ServiceType;
import io.fathom.cloud.network.api.os.resources.ExtensionsResource;
import io.fathom.cloud.network.api.os.resources.FloatingIpsResource;
import io.fathom.cloud.network.api.os.resources.NetworkResource;
import io.fathom.cloud.network.api.os.resources.PortsResource;
import io.fathom.cloud.network.api.os.resources.StripExtensionFilter;
import io.fathom.cloud.network.api.os.resources.SubnetsResource;
import io.fathom.cloud.server.model.Project;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fathomdb.extensions.HttpConfiguration;
import com.google.common.collect.Lists;
public class NetworkExtension extends OpenstackExtensionBase {
private static final Logger log = LoggerFactory.getLogger(NetworkExtension.class);
@Override
public void addHttpExtensions(HttpConfiguration http) {
http.bind(ExtensionsResource.class);
http.bind(FloatingIpsResource.class);
http.bind(NetworkResource.class);
http.bind(PortsResource.class);
http.bind(SubnetsResource.class);
http.bind(StripExtensionFilter.class);
}
@Override
protected void configure() {
bind(NetworkService.class).to(NetworkServiceImpl.class);
}
@Override
public List<ServiceType> getServices(Project project, String baseUrl) {
List<ServiceType> serviceTypes = Lists.newArrayList();
if (project != null) {
boolean USE_QUANTUM = false;
if (USE_QUANTUM) {
serviceTypes.add(ServiceType.NETWORK);
}
}
return serviceTypes;
}
}