package io.cattle.platform.core.dao;
import io.cattle.platform.archaius.util.ArchaiusUtil;
import io.cattle.platform.core.model.Host;
import io.cattle.platform.core.model.IpAddress;
import io.cattle.platform.core.model.PhysicalHost;
import io.github.ibuildthecloud.gdapi.id.IdFormatter;
import java.util.List;
import java.util.Map;
import com.netflix.config.DynamicLongProperty;
public interface HostDao {
public final static DynamicLongProperty HOST_REMOVE_DELAY = ArchaiusUtil.getLong("host.remove.delay.seconds");
public static final DynamicLongProperty HOST_REMOVE_START_DELAY = ArchaiusUtil.getLong("host.remove.delay.startup.seconds");
List<? extends Host> getHosts(Long accountId, List<String> uuids);
boolean hasActiveHosts(Long accountId);
Host getHostForIpAddress(long ipAddressId);
IpAddress getIpAddressForHost(Long hostId);
Map<Long, List<Object>> getInstancesPerHost(List<Long> hosts, IdFormatter idFormatter);
PhysicalHost createMachineForHost(Host host);
Map<Long, PhysicalHost> getPhysicalHostsForHosts(List<Long> hosts);
void updateNullUpdatedHosts();
List<? extends Host> findHostsRemove();
}