package io.fathom.cloud.dns; import io.fathom.cloud.OpenstackExtensionBase; import io.fathom.cloud.ServiceType; import io.fathom.cloud.dns.DnsService; import io.fathom.cloud.dns.api.os.resources.RecordsetsResource; import io.fathom.cloud.dns.api.os.resources.ZoneResource; import io.fathom.cloud.dns.services.DnsSecrets; import io.fathom.cloud.dns.services.DnsServiceImpl; 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 DnsExtension extends OpenstackExtensionBase { private static final Logger log = LoggerFactory.getLogger(DnsExtension.class); @Override public void addHttpExtensions(HttpConfiguration http) { http.bind(RecordsetsResource.class); http.bind(ZoneResource.class); } @Override protected void configure() { bind(DnsService.class).to(DnsServiceImpl.class); // LifecycleListener bind(DnsSecrets.class).asEagerSingleton(); } @Override public List<ServiceType> getServices(Project project, String baseUrl) { List<ServiceType> serviceTypes = Lists.newArrayList(); if (project != null) { serviceTypes.add(ServiceType.DNS); } return serviceTypes; } }