import { DataState,FieldInfo } from 'model-util-base'
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-01 16:26
 */
export interface MsK8sCluster{
    /**
    * id
    * @type { string }
    */
    id?: string;
    /**
    * 名称
    * @type { string }
    */
    name?: string;
    /**
    * 0:阿里云,1:华为云
    * @type { string }
    */
    cloudProvider?: string;
    /**
    * JSON配置
    * @type { string }
    */
    jsonConfig?: string;
    /**
    * 禁用标记
    * @type { boolean }
    */
    disabled?: boolean;
    /**
    * create_time
    * @type { Date }
    */
    createTime?: Date;
    /**
    * update_time
    * @type { Date }
    */
    updateTime?: Date;
    /**
    * 集群类型 0:托管版,1:serverless版
    * @type { string }
    */
    clusterType?: string;
}
export class MsK8sClusterMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','id');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','名称');
    }
    static get CLOUD_PROVIDER(): FieldInfo{  
        return new FieldInfo('cloudProvider','0:阿里云,1:华为云');
    }
    static get JSON_CONFIG(): FieldInfo{  
        return new FieldInfo('jsonConfig','JSON配置');
    }
    static get DISABLED(): FieldInfo{  
        return new FieldInfo('disabled','禁用标记');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','create_time');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','update_time');
    }
    static get CLUSTER_TYPE(): FieldInfo{  
        return new FieldInfo('clusterType','集群类型 0:托管版,1:serverless版');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-01 16:26
 */
export interface MsMonitorMetrics{
    /**
    * id
    * @type { string }
    */
    id?: string;
    /**
    * create_time
    * @type { Date }
    */
    createTime?: Date;
    /**
    * update_time
    * @type { Date }
    */
    updateTime?: Date;
    /**
    * state
    * @type { number }
    */
    state?: number;
    /**
    * 代码
    * @type { string }
    */
    code?: string;
    /**
    * 名称
    * @type { string }
    */
    name?: string;
    /**
    * 单位名称
    * @type { string }
    */
    unitName?: string;
    /**
    * prometheus查询查询参数定义（JSON)
    * @type { string }
    */
    prometheusQueryParam?: string;
    /**
    * 备注
    * @type { string }
    */
    remark?: string;
}
export class MsMonitorMetricsMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','id');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','create_time');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','update_time');
    }
    static get STATE(): FieldInfo{  
        return new FieldInfo('state','state');
    }
    static get CODE(): FieldInfo{  
        return new FieldInfo('code','代码');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','名称');
    }
    static get UNIT_NAME(): FieldInfo{  
        return new FieldInfo('unitName','单位名称');
    }
    static get PROMETHEUS_QUERY_PARAM(): FieldInfo{  
        return new FieldInfo('prometheusQueryParam','prometheus查询查询参数定义（JSON)');
    }
    static get REMARK(): FieldInfo{  
        return new FieldInfo('remark','备注');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-01 16:26
 */
export interface MsMonitorMetricsTemplate{
    /**
    * id
    * @type { string }
    */
    id?: string;
    /**
    * create_time
    * @type { Date }
    */
    createTime?: Date;
    /**
    * update_time
    * @type { Date }
    */
    updateTime?: Date;
    /**
    * state
    * @type { number }
    */
    state?: number;
    /**
    * 代码
    * @type { string }
    */
    code?: string;
    /**
    * 名称
    * @type { string }
    */
    name?: string;
    /**
    * 备注
    * @type { string }
    */
    remark?: string;
    /**
    * 子表 MsMonitorMetricsTemplateItem 
    * @type { MsMonitorMetricsTemplateItem[] }
    */
    msMonitorMetricsTemplateItem?:MsMonitorMetricsTemplateItem[];

    /**
    * 数据状态 
    * @type { DataState }
    */
    _state?: DataState;
}
export class MsMonitorMetricsTemplateMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','id');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','create_time');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','update_time');
    }
    static get STATE(): FieldInfo{  
        return new FieldInfo('state','state');
    }
    static get CODE(): FieldInfo{  
        return new FieldInfo('code','代码');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','名称');
    }
    static get REMARK(): FieldInfo{  
        return new FieldInfo('remark','备注');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-01 16:26
 */
export interface MsMonitorMetricsTemplateItem{
    /**
    * id
    * @type { string }
    */
    id?: string;
    /**
    * create_time
    * @type { Date }
    */
    createTime?: Date;
    /**
    * update_time
    * @type { Date }
    */
    updateTime?: Date;
    /**
    * state
    * @type { number }
    */
    state?: number;
    /**
    * 模板id
    * @type { string }
    */
    templateId?: string;
    /**
    * 指标id
    * @type { string }
    */
    metricsId?: string;
    /**
    * 上限阈值
    * @type { number }
    */
    upperLimit?: number;
    /**
    * 保持分钟数
    * @type { number }
    */
    holdMinutes?: number;
    /**
    * 下限阈值
    * @type { number }
    */
    lowerLimit?: number;
    /**
    * 冷却分钟数
    * @type { number }
    */
    coolingMinutes?: number;
    /**
    * extend field in MsMonitorMetrics
    * 代码
    * @type { string }
    */
    metricsCode?: string;
    /**
    * extend field in MsMonitorMetrics
    * 名称
    * @type { string }
    */
    metricsName?: string;
    /**
    * extend field in MsMonitorMetrics
    * 单位名称
    * @type { string }
    */
    metricsUnitName?: string;
    /**
    * extend field in MsMonitorMetrics
    * prometheus查询查询参数定义（JSON)
    * @type { string }
    */
    prometheusQueryParam?: string;

    /**
    * 数据状态 
    * @type { DataState }
    */
    _state?: DataState;
}
export class MsMonitorMetricsTemplateItemMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','id');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','create_time');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','update_time');
    }
    static get STATE(): FieldInfo{  
        return new FieldInfo('state','state');
    }
    static get TEMPLATE_ID(): FieldInfo{  
        return new FieldInfo('templateId','模板id');
    }
    static get METRICS_ID(): FieldInfo{  
        return new FieldInfo('metricsId','指标id');
    }
    static get UPPER_LIMIT(): FieldInfo{  
        return new FieldInfo('upperLimit','上限阈值');
    }
    static get HOLD_MINUTES(): FieldInfo{  
        return new FieldInfo('holdMinutes','保持分钟数');
    }
    static get LOWER_LIMIT(): FieldInfo{  
        return new FieldInfo('lowerLimit','下限阈值');
    }
    static get COOLING_MINUTES(): FieldInfo{  
        return new FieldInfo('coolingMinutes','冷却分钟数');
    }
    static get METRICS_CODE(): FieldInfo{  
        return new FieldInfo('metricsCode','代码');
    }
    static get METRICS_NAME(): FieldInfo{  
        return new FieldInfo('metricsName','名称');
    }
    static get METRICS_UNIT_NAME(): FieldInfo{  
        return new FieldInfo('metricsUnitName','单位名称');
    }
    static get PROMETHEUS_QUERY_PARAM(): FieldInfo{  
        return new FieldInfo('prometheusQueryParam','prometheus查询查询参数定义（JSON)');
    }
}


