package org.openstack.atlas.service.domain.services;
import org.openstack.atlas.service.domain.entities.*;
import org.openstack.atlas.service.domain.exceptions.*;
import org.openstack.atlas.service.domain.pojos.Customer;
import org.openstack.atlas.service.domain.pojos.LoadBalancerCountByAccountIdHostId;
import java.util.List;
public interface HostService {
public Cluster getClusterById(Integer id) throws EntityNotFoundException;
public Host getById(Integer id) throws EntityNotFoundException;
public List<Host> getAll(Integer... p);
public List<Host> getAllOnline();
public List<Backup> getAllBackups();
public List<Host> getAllActive();
public List<Backup> getBackupsForHost(Integer hostId, Integer... p) throws EntityNotFoundException;
public List<Host> getAllHosts();
public List<Integer> getLoadBalancerIdsForHost(Integer hostId);
public List<LoadBalancer> getLoadBalancers(Integer hostId);
public List<LoadBalancer> getLoadBalancersWithStatus(Integer hostId, LoadBalancerStatus status);
public void create(Host host) throws UnprocessableEntityException, EntityNotFoundException;
public void save(Host host);
public void delete(Host host);
public Host update(Host host);
public Host getEndPointHost(Integer clusterId);
public Host getRestEndPointHost(Integer clusterId);
public List<String> getFailoverHostNames(Integer clusterId);
public List<Host> getFailoverHosts(Integer clusterId);
public String getEndPoint(Integer clusterId);
public Host getHostsByLoadBalancerId(Integer loadBalancerId);
public Backup getBackupByHostIdAndBackupId(Integer hostId, Integer backupId) throws EntityNotFoundException;
public Backup createBackup(Host host, Backup backup) throws EntityNotFoundException, ImmutableEntityException;
public void deleteBackup(Backup backup);
public List<LoadBalancerCountByAccountIdHostId> getAccountsInHost(Integer id);
public List<Customer> getCustomerList(Object key);
public long getHostsConnectionsForCluster(Integer clusterId);
public Integer getNumberOfUniqueAccountsForHost(Integer id);
public long getActiveLoadBalancerForHost(Integer id);
public void updateLoadBalancerSticky(LoadBalancer lb) throws EntityNotFoundException;
public void deleteLoadBalancerSticky(LoadBalancer lb) throws EntityNotFoundException;
public void activateHost(Host host) throws Exception;
public void inActivateHost(Host host) throws Exception;
public void updateHost(Host queueHost) throws EntityNotFoundException;
public void deleteHost(Host queueHost) throws Exception;
public Host getDefaultActiveHostAndActiveCluster(Integer accountId) throws EntityNotFoundException, ClusterStatusException, NoAvailableClusterException;
public boolean isActiveHost(Host host) throws EntityNotFoundException;
}