/**
* Abiquo community edition
* cloud management application for hybrid clouds
* Copyright (C) 2008-2010 - Abiquo Holdings S.L.
*
* This application is free software; you can redistribute it and/or
* modify it under the terms of the GNU LESSER GENERAL PUBLIC
* LICENSE as published by the Free Software Foundation under
* version 3 of the License
*
* This software 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
* LESSER GENERAL PUBLIC LICENSE v.3 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
package com.abiquo.scheduler.limit;
import java.math.BigDecimal;
/**
* Holds the virtual machine price
*
* @author aprete
*/
public class VirtualMachinePrice
{
public enum VirtualMachineCost
{
COST_CODE, COMPUTE, NETWORK, STORAGE, ADDITIONAL_VOLUME, STANDING_CHARGE, TOTAL;
}
public enum PricingModelVariables
{
CHARGE("%CHARGE_FORMATTED%"), CHARGE_PERIOD("%CHARGEPERIOD%"), MIN_CHARGE(
"%MINCHARGE_FORMATTED%"), MIN_PERIOD("%MINPERIOD%");
private final String text;
PricingModelVariables(final String text)
{
this.text = text;
}
public String getText()
{
return text;
}
}
/** Value for the template being deployed */
private BigDecimal costCodeCost;
/** Value for the CPU, memory */
private BigDecimal computeCost;
/** Value for public IPs */
private BigDecimal networkCost;
/** Value for the datastore */
private BigDecimal storageCost;
/** Value for the volume */
private BigDecimal additionalVolumCost;
/** Value total */
private BigDecimal totalCost;
public BigDecimal getCostCodeCost()
{
return costCodeCost;
}
public void setCostCodeCost(final BigDecimal costCodeCost)
{
this.costCodeCost = costCodeCost;
}
public BigDecimal getComputeCost()
{
return computeCost;
}
public void setComputeCost(final BigDecimal computeCost)
{
this.computeCost = computeCost;
}
public BigDecimal getNetworkCost()
{
return networkCost;
}
public void setNetworkCost(final BigDecimal networkCost)
{
this.networkCost = networkCost;
}
public BigDecimal getStorageCost()
{
return storageCost;
}
public void setStorageCost(final BigDecimal storageCost)
{
this.storageCost = storageCost;
}
public BigDecimal getAdditionalVolumCost()
{
return additionalVolumCost;
}
public void setAdditionalVolumCost(final BigDecimal additionalVolumCost)
{
this.additionalVolumCost = additionalVolumCost;
}
public BigDecimal getTotalCost()
{
return totalCost;
}
public void setTotalCost(final BigDecimal totalCost)
{
this.totalCost = totalCost;
}
}