
org.ligoj.app.plugin.prov.QuoteEditionVo Maven / Gradle / Ivy
The newest version!
/*
* Licensed under MIT (https://github.com/ligoj/ligoj/blob/master/LICENSE)
*/
package org.ligoj.app.plugin.prov;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import org.ligoj.app.plugin.prov.model.ReservationMode;
import org.ligoj.bootstrap.core.DescribedBean;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
/**
* Quote definition for edition. Identifier parameter is not used.
*/
@Getter
@Setter
public class QuoteEditionVo extends DescribedBean {
/**
* SID
*/
private static final long serialVersionUID = 1L;
/**
* Default location name when not defined at instance/storage level.
*/
@NotNull
private String location;
/**
* Optional usage name. May be null
for a full usage.
*/
private String usage;
/**
* Optional budget name. May be null
for a budget without initial cost.
*/
private String budget;
/**
* Optional optimizer name. May be null
for a budget without initial cost.
*/
private String optimizer;
/**
* Optional license model. null
value corresponds to
* {@value org.ligoj.app.plugin.prov.model.ProvQuoteInstance#LICENSE_INCLUDED}.
*/
private String license;
/**
* Rate applied to required RAM to find the suiting instance type. This rate is divided by 100
, then
* multiplied to the required RAM of each memory before calling the lookup. Values lesser than 100
* allows the lookup to elect an instance having less RAM than the requested one. Value greater than
* 100
makes the lookup to request instance types providing more RAM than the requested one.
*/
@Min(1)
@Max(200)
@NotNull
private Integer ramAdjustedRate = 100;
/**
* Optional reservation mode. When null
, is
* {@link org.ligoj.app.plugin.prov.model.ReservationMode#RESERVED}
*/
private ReservationMode reservationMode = ReservationMode.RESERVED;
/**
* Optional physical processor. May be null
.
*/
private String processor;
/**
* Optional physical host requirement. May be null
. When true
, this instance type is
* physical, not virtual.
*/
private Boolean physical;
/**
* When true
, the cost is always refreshed, otherwise, only when at least one pricing dependency is
* updated.
*/
@JsonIgnore
private boolean refresh;
/**
* UI settings. Properties are:
*
* - Attached tags colors mapping as a JSON map. Key is the tag name. Value is the color code. Color name is not
* accepted. Sample:
#e4560f
or rgb(255, 0, 0)
, hsl(0, 100%, 50%)
.
*
*/
private String uiSettings;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy