monitor_host_delete.py 1.5 KB
from .models import MonitorHost, db
from sqlalchemy import and_
from app.util.component.ApiTemplate import ApiTemplate
import uuid


class Api(ApiTemplate):
    api_name = "注销主机"

    def para_check(self):
        if not self.para.get("srcid"):
            raise Exception("缺乏host参数")

    def process(self):

        # 返回结果
        res = {}
        res["data"] = {}
        try:
            srcid = self.para.get("srcid")  # server
            monitor_host = MonitorHost.query.filter_by(
                srcid=srcid).one_or_none()
            if monitor_host:
                db.session.delete(monitor_host)
                db.session.commit()
                res["result"] = True
                res["message"] = "删除成功,srcid:{}".format(srcid)
            else:
                res['message'] = 'host不存在,无法注销'
                res["result"] = False
        except Exception as e:
            db.session.rollback()
            raise e
        return res

    api_doc = {
        "tags": ["监控接口"],
        "parameters": [
            {"name": "srcid",
             "in": "formData",
             "type": "string",
             "description": "srcid值",
             "required": "true"}
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }