package org.openstack.atlas.service.domain.services; import org.openstack.atlas.service.domain.entities.AccountLimit; import org.openstack.atlas.service.domain.entities.AccountLimitType; import org.openstack.atlas.service.domain.entities.LimitType; import org.openstack.atlas.service.domain.exceptions.BadRequestException; import org.openstack.atlas.service.domain.exceptions.EntityNotFoundException; import org.openstack.atlas.service.domain.pojos.AllAbsoluteLimits; import java.util.List; import java.util.Map; public interface AccountLimitService { void delete(AccountLimit accountLimit) throws EntityNotFoundException; AccountLimit getByIdAndAccountId(Integer id, Integer accountId); Map<Integer, List<AccountLimit>> getAllAccountLimits(); Map<String, Integer> getAllLimitsForAccount(Integer accountId); AllAbsoluteLimits getAllAbsoluteLimitsForAccount(Integer accountId); Map<Integer, List<AccountLimit>> getAccountLimitsForCluster(Integer clusterId); List<LimitType> getAllLimitTypes(); List<AccountLimit> getCustomAccountLimits(Integer accountId); int getLimit(Integer accountId, AccountLimitType accountLimitType) throws EntityNotFoundException; void save(AccountLimit accountLimit) throws BadRequestException; AccountLimit update(AccountLimit accountLimit) throws EntityNotFoundException; }