package com.bocloud.ims.entity.resource.azure.monitor;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.meta.PKStrategy;
import lombok.Getter;
import lombok.Setter;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: MetricCriteria
 * @Description:度量值规则
 * @author: zhenpingLi/李振平
 * @date: 2021/1/8 14:27
 */
@Getter
@Setter
@Table("metric_criteria")
public class MetricCriteria {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("name")
    private String name;
    @Column("metric_name")
    private String metricName;
    @Column("metric_namespace")
    private String metricNamespace;
    @Column("operator")
    private String operator;//条件运算符。Equals、GreaterThan、GreaterThanOrEqual、LessThan、LessThanOrEqual、NotEquals
    @Column("time_aggregation")
    private String timeAggregation;//条件时间聚合类型。Average、Count、Maximum、Minimum、Total
    @Column("threshold")
    private Integer threshold;//激活警报的条件阈值。
    @Column("metric_alert_id")
    private Long metricAlertId;
    @Column("criterion_type")
    private String criterionType;

    public String getCriterionType() {
        return criterionType;
    }

    public void setCriterionType(String criterionType) {
        this.criterionType = criterionType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMetricName() {
        return metricName;
    }

    public void setMetricName(String metricName) {
        this.metricName = metricName;
    }

    public String getMetricNamespace() {
        return metricNamespace;
    }

    public void setMetricNamespace(String metricNamespace) {
        this.metricNamespace = metricNamespace;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getTimeAggregation() {
        return timeAggregation;
    }

    public void setTimeAggregation(String timeAggregation) {
        this.timeAggregation = timeAggregation;
    }

    public Integer getThreshold() {
        return threshold;
    }

    public void setThreshold(Integer threshold) {
        this.threshold = threshold;
    }

    public Long getMetricAlertId() {
        return metricAlertId;
    }

    public void setMetricAlertId(Long metricAlertId) {
        this.metricAlertId = metricAlertId;
    }
}