You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
3.3 KiB
Python

from dataclasses import field
from marshmallow_dataclass import dataclass
from marshmallow import validates_schema, ValidationError
from iti.applications.common.utils.schema import BaseSchema, Pagination
from typing import ClassVar, Optional
from apiflask import fields
@dataclass(base_schema=BaseSchema)
class AlertLogQuery(Pagination):
"""
告警日志信息查询请求
"""
alert_tag: str = field(
default=None,
metadata={
"required": False,
"metadata": {"example": "ep1-nd0", "description": "告警标签"},
},
)
status: int = field(
default=None,
metadata={
"required": False,
"metadata": {"example": 0, "description": "状态"},
},
)
Schema: ClassVar[BaseSchema] = BaseSchema
class AlertLogAddRequest(BaseSchema):
"""
告警日志信息添加请求
"""
alert_tag = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警标签",
},
)
alert_target_name = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警对象名称",
},
)
trigger_count = fields.Integer(
required=True,
metadata={
"example": 1,
"description": "触发次数",
},
)
status = fields.Integer(
required=True,
metadata={
"example": 0,
"description": "状态",
},
)
alert_content = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警内容",
},
)
alert_level = fields.Integer(
required=True,
metadata={
"example": 0,
"description": "告警级别",
},
)
class AlertLogUpdateRequest(BaseSchema):
"""
告警日志信息更新请求
"""
alert_tag = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警标签",
},
)
alert_target_name = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警对象名称",
},
)
trigger_count = fields.Integer(
required=True,
metadata={
"example": 1,
"description": "触发次数",
},
)
status = fields.Integer(
required=True,
metadata={
"example": 0,
"description": "状态",
},
)
alert_content = fields.String(
required=True,
metadata={
"example": "ep1-nd0",
"description": "告警内容",
},
)
alert_level = fields.Integer(
required=True,
metadata={
"example": 0,
"description": "告警级别",
},
)
class NodeAlertLogAddRequest(BaseSchema):
"""
节点值异常告警日志信息添加请求
"""
node_id = fields.Integer(
required=True,
metadata={
"example": 1,
"description": "节点ID",
},
)
alert_value = fields.String(
required=True,
metadata={
"example": "-2.1",
"description": "告警值",
},
)