package com.bocloud.ims.entity.resource;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.Generic;
import com.bocloud.entity.meta.PKStrategy;

import java.math.BigDecimal;

/**
 * 告警阈值实体类(vcenter集群或平台维度)
 * 
 * @author wangyu
 * @version 1.0
 * @since 2018年2月20日
 *
 */
@Table("alarm_threshold")
public class AlarmThreshold extends Generic {

	@PK(PKStrategy.AUTO)
	private Long id;// ID
	@Column("target")
	private Long target;// 目标
	@Column("catalog")
	private String catalog;// 目标类别(集群或平台)
	@Column("cpu_yellow_val")
	private BigDecimal cpuYellowVal;// CPU警告阈值
	@Column("cpu_red_val")
	private BigDecimal cpuRedVal;// CPU严重阈值
	@Column("memory_yellow_val")
	private BigDecimal memoryYellowVal;// 内存警告阈值
	@Column("memory_red_val")
	private BigDecimal memoryRedVal;// 内存严重阈值
	@Column("disk_yellow_val")
	private BigDecimal diskYellowVal;// 磁盘警告告警阈值
	@Column("disk_red_val")
	private BigDecimal diskRedVal;// 磁盘严重告警阈值
	@Column("instance_yellow_val")
	private BigDecimal instanceYellowVal;// 实例数警告阈值
	@Column("instance_red_val")
	private BigDecimal instanceRedVal;// 实例数严重阈值
	@Column("fixed_ip_yellow_val")
	private BigDecimal fixedIpYellowVal;// 浮动ip数警告告警阈值
	@Column("fixed_ip_red_val")
	private BigDecimal fixedIpRedVal;// 浮动ip数严重告警阈值
	@Column("serial_number")
	private String serialNumber; // 序列号

	/**
	 * 
	 */
	public AlarmThreshold() {
		super();
	}

	/**
	 * @param target
	 * @param catalog
	 * @param cpuYellowVal
	 * @param cpuRedVal
	 * @param memoryYellowVal
	 * @param memoryRedVal
	 * @param diskYellowVal
	 * @param diskRedVal
	 */
	public AlarmThreshold(Long target, String catalog, BigDecimal cpuYellowVal, BigDecimal cpuRedVal,
			BigDecimal memoryYellowVal, BigDecimal memoryRedVal, BigDecimal diskYellowVal, BigDecimal diskRedVal) {
		super();
		this.target = target;
		this.catalog = catalog;
		this.cpuYellowVal = cpuYellowVal;
		this.cpuRedVal = cpuRedVal;
		this.memoryYellowVal = memoryYellowVal;
		this.memoryRedVal = memoryRedVal;
		this.diskYellowVal = diskYellowVal;
		this.diskRedVal = diskRedVal;
	}

	/**
	 * @param cpuYellowVal
	 * @param cpuRedVal
	 * @param memoryYellowVal
	 * @param memoryRedVal
	 * @param diskYellowVal
	 * @param diskRedVal
	 * @param instanceYellowVal
	 * @param instanceRedVal
	 * @param fixedIpYellowVal
	 * @param fixedIpRedVal
	 */
	public AlarmThreshold(BigDecimal cpuYellowVal, BigDecimal cpuRedVal, BigDecimal memoryYellowVal,
			BigDecimal memoryRedVal, BigDecimal diskYellowVal, BigDecimal diskRedVal, BigDecimal instanceYellowVal,
			BigDecimal instanceRedVal, BigDecimal fixedIpYellowVal, BigDecimal fixedIpRedVal) {
		super();
		this.cpuYellowVal = cpuYellowVal;
		this.cpuRedVal = cpuRedVal;
		this.memoryYellowVal = memoryYellowVal;
		this.memoryRedVal = memoryRedVal;
		this.diskYellowVal = diskYellowVal;
		this.diskRedVal = diskRedVal;
		this.instanceYellowVal = instanceYellowVal;
		this.instanceRedVal = instanceRedVal;
		this.fixedIpYellowVal = fixedIpYellowVal;
		this.fixedIpRedVal = fixedIpRedVal;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the target
	 */
	public Long getTarget() {
		return target;
	}

	/**
	 * @param target
	 *            the target to set
	 */
	public void setTarget(Long target) {
		this.target = target;
	}

	/**
	 * @return the catalog
	 */
	public String getCatalog() {
		return catalog;
	}

	/**
	 * @param catalog
	 *            the catalog to set
	 */
	public void setCatalog(String catalog) {
		this.catalog = catalog;
	}

	/**
	 * @return the cpuYellowVal
	 */
	public BigDecimal getCpuYellowVal() {
		return cpuYellowVal;
	}

	/**
	 * @param cpuYellowVal
	 *            the cpuYellowVal to set
	 */
	public void setCpuYellowVal(BigDecimal cpuYellowVal) {
		this.cpuYellowVal = cpuYellowVal;
	}

	/**
	 * @return the cpuRedVal
	 */
	public BigDecimal getCpuRedVal() {
		return cpuRedVal;
	}

	/**
	 * @param cpuRedVal
	 *            the cpuRedVal to set
	 */
	public void setCpuRedVal(BigDecimal cpuRedVal) {
		this.cpuRedVal = cpuRedVal;
	}

	/**
	 * @return the memoryYellowVal
	 */
	public BigDecimal getMemoryYellowVal() {
		return memoryYellowVal;
	}

	/**
	 * @param memoryYellowVal
	 *            the memoryYellowVal to set
	 */
	public void setMemoryYellowVal(BigDecimal memoryYellowVal) {
		this.memoryYellowVal = memoryYellowVal;
	}

	/**
	 * @return the memoryRedVal
	 */
	public BigDecimal getMemoryRedVal() {
		return memoryRedVal;
	}

	/**
	 * @param memoryRedVal
	 *            the memoryRedVal to set
	 */
	public void setMemoryRedVal(BigDecimal memoryRedVal) {
		this.memoryRedVal = memoryRedVal;
	}

	/**
	 * @return the diskYellowVal
	 */
	public BigDecimal getDiskYellowVal() {
		return diskYellowVal;
	}

	/**
	 * @param diskYellowVal
	 *            the diskYellowVal to set
	 */
	public void setDiskYellowVal(BigDecimal diskYellowVal) {
		this.diskYellowVal = diskYellowVal;
	}

	/**
	 * @return the diskRedVal
	 */
	public BigDecimal getDiskRedVal() {
		return diskRedVal;
	}

	/**
	 * @param diskRedVal
	 *            the diskRedVal to set
	 */
	public void setDiskRedVal(BigDecimal diskRedVal) {
		this.diskRedVal = diskRedVal;
	}

	/**
	 * @return the instanceYellowVal
	 */
	public BigDecimal getInstanceYellowVal() {
		return instanceYellowVal;
	}

	/**
	 * @param instanceYellowVal
	 *            the instanceYellowVal to set
	 */
	public void setInstanceYellowVal(BigDecimal instanceYellowVal) {
		this.instanceYellowVal = instanceYellowVal;
	}

	/**
	 * @return the instanceRedVal
	 */
	public BigDecimal getInstanceRedVal() {
		return instanceRedVal;
	}

	/**
	 * @param instanceRedVal
	 *            the instanceRedVal to set
	 */
	public void setInstanceRedVal(BigDecimal instanceRedVal) {
		this.instanceRedVal = instanceRedVal;
	}

	/**
	 * @return the fixedIpYellowVal
	 */
	public BigDecimal getFixedIpYellowVal() {
		return fixedIpYellowVal;
	}

	/**
	 * @param fixedIpYellowVal
	 *            the fixedIpYellowVal to set
	 */
	public void setFixedIpYellowVal(BigDecimal fixedIpYellowVal) {
		this.fixedIpYellowVal = fixedIpYellowVal;
	}

	/**
	 * @return the fixedIpRedVal
	 */
	public BigDecimal getFixedIpRedVal() {
		return fixedIpRedVal;
	}

	/**
	 * @param fixedIpRedVal
	 *            the fixedIpRedVal to set
	 */
	public void setFixedIpRedVal(BigDecimal fixedIpRedVal) {
		this.fixedIpRedVal = fixedIpRedVal;
	}

	/**
	 * @return the serialNumber
	 */
	public String getSerialNumber() {
		return serialNumber;
	}

	/**
	 * @param serialNumber
	 *            the serialNumber to set
	 */
	public void setSerialNumber(String serialNumber) {
		this.serialNumber = serialNumber;
	}

}
