// Copyright 2012 Citrix Systems, Inc. Licensed under the
// Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. Citrix Systems, Inc.
// reserves all rights not expressly granted by the License.
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.network;
import java.util.Date;
import com.cloud.acl.ControlledEntity;
import com.cloud.utils.net.Ip;
/**
*
* - Allocated = null
* - AccountId = null
* - DomainId = null
*
* - State = Allocated
* - AccountId = account owner.
* - DomainId = domain of the account owner.
* - Allocated = time it was allocated.
*/
public interface IpAddress extends ControlledEntity {
enum State {
Allocating, // The IP Address is being propagated to other network elements and is not ready for use yet.
Allocated, // The IP address is in used.
Releasing, // The IP address is being released for other network elements and is not ready for allocation.
Free // The IP address is ready to be allocated.
}
enum Purpose {
StaticNat,
Lb
}
long getDataCenterId();
Ip getAddress();
Date getAllocatedTime();
boolean isSourceNat();
long getVlanId();
boolean isOneToOneNat();
State getState();
boolean readyToUse();
Long getAssociatedWithNetworkId();
Long getAssociatedWithVmId();
public Long getPhysicalNetworkId();
/**
* @return database id.
*/
long getId();
void setState(IpAddress.State state);
Long getAllocatedToAccountId();
Long getAllocatedInDomainId();
boolean getSystem();
}