/** * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. * * This software is licensed under the GNU General Public License v3 or later. * * It is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ package com.cloud.network.dao; import java.util.List; import com.cloud.network.IPAddressVO; import com.cloud.utils.db.GenericDao; import com.cloud.utils.net.Ip; public interface IPAddressDao extends GenericDao { IPAddressVO markAsUnavailable(long ipAddressId); void unassignIpAddress(long ipAddressId); List listByAccount(long accountId); List listByVlanId(long vlanId); List listByDcIdIpAddress(long dcId, String ipAddress); List listByAssociatedNetwork(long networkId, Boolean isSourceNat); int countIPs(long dcId, long vlanDbId, boolean onlyCountAllocated); int countIPs(long dcId, Long accountId, String vlanId, String vlanGateway, String vlanNetmask); boolean mark(long dcId, Ip ip); int countIPsForDashboard(long dcId, boolean onlyCountAllocated); IPAddressVO findByAssociatedVmId(long vmId); IPAddressVO findByAccountAndIp(long accountId, String ipAddress); IPAddressVO findByIpAddress(String ipAddress); }