mirror of https://github.com/apache/cloudstack.git
202 lines
5.6 KiB
Java
Executable File
202 lines
5.6 KiB
Java
Executable File
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you under the Apache License, Version 2.0 (the
|
|
// "License"); you may not use this file except in compliance
|
|
// with 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.
|
|
package com.cloud.service;
|
|
|
|
import javax.persistence.Column;
|
|
import javax.persistence.DiscriminatorValue;
|
|
import javax.persistence.Entity;
|
|
import javax.persistence.PrimaryKeyJoinColumn;
|
|
import javax.persistence.Table;
|
|
import javax.persistence.Transient;
|
|
|
|
import com.cloud.offering.ServiceOffering;
|
|
import com.cloud.storage.DiskOfferingVO;
|
|
import com.cloud.vm.VirtualMachine;
|
|
|
|
@Entity
|
|
@Table(name="service_offering")
|
|
@DiscriminatorValue(value="Service")
|
|
@PrimaryKeyJoinColumn(name="id")
|
|
public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering {
|
|
@Column(name="cpu")
|
|
private int cpu;
|
|
|
|
@Column(name="speed")
|
|
private int speed;
|
|
|
|
@Column(name="ram_size")
|
|
private int ramSize;
|
|
|
|
@Column(name="nw_rate")
|
|
private Integer rateMbps;
|
|
|
|
@Column(name="mc_rate")
|
|
private Integer multicastRateMbps;
|
|
|
|
@Column(name="ha_enabled")
|
|
private boolean offerHA;
|
|
|
|
@Column(name="limit_cpu_use")
|
|
private boolean limitCpuUse;
|
|
|
|
@Column(name="host_tag")
|
|
private String hostTag;
|
|
|
|
@Column(name="default_use")
|
|
private boolean default_use;
|
|
|
|
@Column(name="vm_type")
|
|
private String vm_type;
|
|
|
|
@Column(name="sort_key")
|
|
int sortKey;
|
|
|
|
protected ServiceOfferingVO() {
|
|
super();
|
|
}
|
|
|
|
public ServiceOfferingVO(String name, int cpu, int ramSize, int speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, String displayText, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vm_type, boolean defaultUse) {
|
|
super(name, displayText, false, tags, recreatable, useLocalStorage, systemUse, true);
|
|
this.cpu = cpu;
|
|
this.ramSize = ramSize;
|
|
this.speed = speed;
|
|
this.rateMbps = rateMbps;
|
|
this.multicastRateMbps = multicastRateMbps;
|
|
this.offerHA = offerHA;
|
|
this.limitCpuUse = false;
|
|
this.default_use = defaultUse;
|
|
this.vm_type = vm_type == null ? null : vm_type.toString().toLowerCase();
|
|
}
|
|
|
|
public ServiceOfferingVO(String name, int cpu, int ramSize, int speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitCpuUse, String displayText, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vm_type, Long domainId) {
|
|
super(name, displayText, false, tags, recreatable, useLocalStorage, systemUse, true, domainId);
|
|
this.cpu = cpu;
|
|
this.ramSize = ramSize;
|
|
this.speed = speed;
|
|
this.rateMbps = rateMbps;
|
|
this.multicastRateMbps = multicastRateMbps;
|
|
this.offerHA = offerHA;
|
|
this.limitCpuUse = limitCpuUse;
|
|
this.vm_type = vm_type == null ? null : vm_type.toString().toLowerCase();
|
|
}
|
|
|
|
public ServiceOfferingVO(String name, int cpu, int ramSize, int speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitResourceUse, String displayText, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vm_type, Long domainId, String hostTag) {
|
|
this(name, cpu, ramSize, speed, rateMbps, multicastRateMbps, offerHA, limitResourceUse, displayText, useLocalStorage, recreatable, tags, systemUse, vm_type, domainId);
|
|
this.hostTag = hostTag;
|
|
}
|
|
|
|
@Override
|
|
public boolean getOfferHA() {
|
|
return offerHA;
|
|
}
|
|
|
|
public void setOfferHA(boolean offerHA) {
|
|
this.offerHA = offerHA;
|
|
}
|
|
|
|
@Override
|
|
public boolean getLimitCpuUse() {
|
|
return limitCpuUse;
|
|
}
|
|
|
|
public void setLimitResourceUse(boolean limitCpuUse) {
|
|
this.limitCpuUse = limitCpuUse;
|
|
}
|
|
|
|
@Override
|
|
public boolean getDefaultUse() {
|
|
return default_use;
|
|
}
|
|
|
|
@Override
|
|
@Transient
|
|
public String[] getTagsArray() {
|
|
String tags = getTags();
|
|
if (tags == null || tags.length() == 0) {
|
|
return new String[0];
|
|
}
|
|
|
|
return tags.split(",");
|
|
}
|
|
|
|
@Override
|
|
public int getCpu() {
|
|
return cpu;
|
|
}
|
|
|
|
public void setCpu(int cpu) {
|
|
this.cpu = cpu;
|
|
}
|
|
|
|
public void setSpeed(int speed) {
|
|
this.speed = speed;
|
|
}
|
|
|
|
public void setRamSize(int ramSize) {
|
|
this.ramSize = ramSize;
|
|
}
|
|
|
|
@Override
|
|
public int getSpeed() {
|
|
return speed;
|
|
}
|
|
|
|
@Override
|
|
public int getRamSize() {
|
|
return ramSize;
|
|
}
|
|
|
|
public void setRateMbps(Integer rateMbps) {
|
|
this.rateMbps = rateMbps;
|
|
}
|
|
|
|
@Override
|
|
public Integer getRateMbps() {
|
|
return rateMbps;
|
|
}
|
|
|
|
public void setMulticastRateMbps(Integer multicastRateMbps) {
|
|
this.multicastRateMbps = multicastRateMbps;
|
|
}
|
|
|
|
@Override
|
|
public Integer getMulticastRateMbps() {
|
|
return multicastRateMbps;
|
|
}
|
|
|
|
public void setHostTag(String hostTag) {
|
|
this.hostTag = hostTag;
|
|
}
|
|
|
|
public String getHostTag() {
|
|
return hostTag;
|
|
}
|
|
|
|
public String getSystemVmType(){
|
|
return vm_type;
|
|
}
|
|
|
|
public void setSortKey(int key) {
|
|
sortKey = key;
|
|
}
|
|
|
|
public int getSortKey() {
|
|
return sortKey;
|
|
}
|
|
|
|
}
|