All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ligoj.app.plugin.prov.model.ProvDatabasePrice Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under MIT (https://github.com/ligoj/ligoj/blob/master/LICENSE)
 */
package org.ligoj.app.plugin.prov.model;

import jakarta.persistence.Entity;
import jakarta.persistence.Index;
import jakarta.persistence.Table;
import jakarta.persistence.UniqueConstraint;
import jakarta.validation.constraints.NotNull;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * A priced database instance with billing configuration. 
* The cost attribute is the corresponding effective monthly cost of this instance. Includes the initial cost to * allow quick sort. To compute the remaining monthly cost reduced by the initial cost, the formula is : * cost - initialCost / 24 / 365. */ @Getter @Setter @Entity @ToString(of = { "engine", "edition" }, callSuper = true) @Table(name = "LIGOJ_PROV_DATABASE_PRICE", uniqueConstraints = { @UniqueConstraint(columnNames = "code") }, indexes = { @Index(name = "lookup_d_index", columnList = "location,type,term,engine,edition,increment_cpu,license") }) public class ProvDatabasePrice extends AbstractTermPriceVm { /** * SID */ private static final long serialVersionUID = 1L; /** * Database engine. Like: "Oracle", "MySQL",... */ @NotNull private String engine; /** * Optional database edition. Like: "Standard", "Standard One", "Enterprise" */ private String edition; /** * Required storage engine. When not null, this type requires a storage only compatible to this engine. * When null, this type requires a storage having no engine constraint. Storage compatibility is also * implied from {@link org.ligoj.app.plugin.prov.model.ProvStorageType#getEngine()}. */ private String storageEngine; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy