/**
* Copyright (C) 2008 - Abiquo Holdings S.L. All rights reserved.
*
* Please see /opt/abiquo/tomcat/webapps/legal/ on Abiquo server
* or contact contact@abiquo.com for licensing information.
*/
package com.abiquo.hypervisor.model.provider;
import static java.util.Objects.requireNonNull;
import javax.xml.bind.annotation.XmlRootElement;
import com.abiquo.hypervisor.model.VirtualMachineIdentifier;
@XmlRootElement(name = "publicip")
public class PublicIP implements IdentifiableInProvider
{
private String providerId;
private String ip;
private VirtualMachineIdentifier virtualMachineIdentifier;
public PublicIP()
{
}
public PublicIP(final String ip, final String providerId)
{
this.ip = ip;
this.providerId = providerId;
}
public PublicIP(final String ip, final String providerId, final String virtualMachineName)
{
this.ip = ip;
this.providerId = providerId;
virtualMachineIdentifier =
new VirtualMachineIdentifier(requireNonNull(virtualMachineName, "virtualMachineName"));
}
/**
* The ID that provider assigns to represent the allocation of the public IP
*
* @return
*/
@Override
public String getProviderId()
{
return providerId;
}
public void setProviderId(final String providerId)
{
this.providerId = providerId;
}
/**
* The public IP address.
*
* @return
*/
public String getIp()
{
return ip;
}
public void setIp(final String ip)
{
this.ip = ip;
}
/** Identify the virtual machine in the provider. */
public VirtualMachineIdentifier getVirtualMachineIdentifier()
{
return virtualMachineIdentifier;
}
public void setVirtualMachineIdentifier(final VirtualMachineIdentifier virtualMachineIdentifier)
{
this.virtualMachineIdentifier = virtualMachineIdentifier;
}
}