<?xml version="1.0" encoding="UTF-8"?>
<con:interface xsi:type="con:RestService" id="27293114-746d-419e-87ff-c5e518c1fc02" name="TiEM UI API Sprint7" type="rest_ex" wadlVersion="https://swagger.io/swagger2/specification" definitionUrl="/Users/jarvis/go/src/tiem/docs/swagger.json" basePath="/api/v1" xmlns:con="http://eviware.com/soapui/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <con:description>TiEM UI API</con:description>
  <con:settings>
    <con:setting id="27293114-746d-419e-87ff-c5e518c1fc02fileName">TiEM-UI-API-Sprint7</con:setting>
  </con:settings>
  <con:definitionCache type="TEXT" rootPart="file:/Users/jarvis/go/src/tiem/docs/swagger.json">
    <con:part>
      <con:url>file:/Users/jarvis/go/src/tiem/docs/swagger.json</con:url>
      <con:content>{
    "swagger": "2.0",
    "info": {
        "description": "TiEM UI API",
        "title": "TiEM UI API",
        "contact": {
            "name": "zhangpeijin",
            "email": "zhangpeijin@pingcap.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0"
    },
    "host": "172.16.4.134:4100",
    "basePath": "/api/v1/",
    "paths": {
        "/backups/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query backup records of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster backup"
                ],
                "summary": "query backup records of a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "name": "backupId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "clusterId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "endTime",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "startTime",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryBackupRecordsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "backup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster backup"
                ],
                "summary": "backup",
                "parameters": [
                    {
                        "description": "backup request",
                        "name": "backupReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.BackupClusterDataReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.BackupClusterDataResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/backups/{backupId}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete backup record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster backup"
                ],
                "summary": "delete backup record",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "backup record id",
                        "name": "backupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "backup delete request",
                        "name": "backupDeleteReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteBackupDataReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.DeleteBackupDataResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query change feed tasks of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "query change feed tasks of a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "example": "CLUSTER_ID_IN_TIEM__22",
                        "name": "clusterId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/cluster.QueryChangeFeedTaskResp"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "create a change feed task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "create a change feed task",
                "parameters": [
                    {
                        "description": "change feed task request",
                        "name": "changeFeedTask",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateChangeFeedTaskReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.CreateChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/{changeFeedTaskId}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete a change feed task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "delete a change feed task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changeFeedTaskId",
                        "name": "changeFeedTaskId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.DeleteChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/{changeFeedTaskId}/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get change feed detail",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "get change feed detail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changeFeedTaskId",
                        "name": "changeFeedTaskId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.DetailChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/{changeFeedTaskId}/pause": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "pause a change feed task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "pause a change feed task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changeFeedTaskId",
                        "name": "changeFeedTaskId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.PauseChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/{changeFeedTaskId}/resume": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "resume a change feed task",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "resume a change feed task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changeFeedTaskId",
                        "name": "changeFeedTaskId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.ResumeChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/changefeeds/{changeFeedTaskId}/update": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "resume a change feed",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "resume a change feed",
                "parameters": [
                    {
                        "type": "string",
                        "description": "changeFeedTaskId",
                        "name": "changeFeedTaskId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "change feed task",
                        "name": "task",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateChangeFeedTaskReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.UpdateChangeFeedTaskResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query clusters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "query clusters",
                "parameters": [
                    {
                        "type": "string",
                        "name": "clusterId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "clusterName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "clusterStatus",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "clusterTag",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "clusterType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "create a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "create a cluster",
                "parameters": [
                    {
                        "description": "create request",
                        "name": "createReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.CreateClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/clone": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "clone a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "clone a cluster",
                "parameters": [
                    {
                        "description": "clone cluster request",
                        "name": "cloneClusterReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CloneClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.CloneClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/export": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "export",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster export"
                ],
                "summary": "export data from tidb cluster",
                "parameters": [
                    {
                        "description": "cluster info for data export",
                        "name": "dataExport",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DataExportReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DataExportResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/import": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "import",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster import"
                ],
                "summary": "import data to tidb cluster",
                "parameters": [
                    {
                        "description": "cluster info for import data",
                        "name": "dataImport",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DataImportReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DataImportResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/preview": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "preview cluster topology and capability",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "preview cluster topology and capability",
                "parameters": [
                    {
                        "description": "preview request",
                        "name": "createReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.CreateClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.PreviewClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/restore": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "restore a new cluster by backup record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "restore a new cluster by backup record",
                "parameters": [
                    {
                        "description": "restore request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.RestoreNewClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.RestoreNewClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/takeover": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "takeover a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "takeover a cluster",
                "parameters": [
                    {
                        "description": "takeover request",
                        "name": "takeoverReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.TakeoverClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.TakeoverClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/transport": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query records of import and export",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster data transport"
                ],
                "summary": "query records of import and export",
                "parameters": [
                    {
                        "type": "string",
                        "name": "clusterId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "endTime",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "reImport",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "recordId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "startTime",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryDataImportExportRecordsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/transport/{recordId}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete data transport record",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster data transport"
                ],
                "summary": "delete data transport record",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "data transport recordId",
                        "name": "recordId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "data transport record delete request",
                        "name": "DataTransportDeleteReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteImportExportRecordReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteImportExportRecordResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show details of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "show details of a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryClusterDetailResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "delete cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "delete request",
                        "name": "deleteReq",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/cluster.DeleteClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.DeleteClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/dashboard": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "dashboard",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "dashboard",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.GetDashboardInfoResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/log": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query cluster log",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster log"
                ],
                "summary": "query cluster log",
                "parameters": [
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "example": 1638331200,
                        "name": "endTime",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "127.0.0.1",
                        "name": "ip",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "warn",
                        "name": "level",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "tidb log",
                        "name": "message",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "tidb",
                        "name": "module",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "example": 1630468800,
                        "name": "startTime",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryClusterLogResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/monitor": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "describe monitoring link",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "describe monitoring link",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryMonitorInfoResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/params": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query parameters of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster parameters"
                ],
                "summary": "query parameters of a cluster",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "paramName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.QueryClusterParametersResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "submit parameters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster parameters"
                ],
                "summary": "submit parameters",
                "parameters": [
                    {
                        "description": "update params request",
                        "name": "updateReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.UpdateClusterParametersReq"
                        }
                    },
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.UpdateClusterParametersResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/params/inspect": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "inspect parameters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster parameters"
                ],
                "summary": "inspect parameters",
                "parameters": [
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/cluster.InspectClusterParametersResp"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/preview-scale-out": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "preview cluster topology and capability",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "preview cluster topology and capability",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "scale out request",
                        "name": "scaleOutReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.ScaleOutClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.PreviewClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/restart": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "restart a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "restart a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.RestartClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/scale-in": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "scale in a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "scale in a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "scale in request",
                        "name": "scaleInReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.ScaleInClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.ScaleInClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/scale-out": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "scale out a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "scale out a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "scale out request",
                        "name": "scaleOutReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.ScaleOutClusterReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.ScaleOutClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/stop": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "stop a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster"
                ],
                "summary": "stop a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster id",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.StopClusterResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/strategy": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "save the backup strategy of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster backup"
                ],
                "summary": "save the backup strategy of a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "backup strategy request",
                        "name": "updateReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.SaveBackupStrategyReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.SaveBackupStrategyResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/clusters/{clusterId}/strategy/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show the backup strategy of a cluster",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cluster backup"
                ],
                "summary": "show the backup strategy of a cluster",
                "parameters": [
                    {
                        "type": "string",
                        "description": "clusterId",
                        "name": "clusterId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/cluster.GetBackupStrategyResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/downstream/": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show display config",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "change feed"
                ],
                "summary": "unused, just display downstream config",
                "parameters": [
                    {
                        "description": "tidb",
                        "name": "tidb",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.TiDBDownstream"
                        }
                    },
                    {
                        "description": "mysql",
                        "name": "mysql",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.MysqlDownstream"
                        }
                    },
                    {
                        "description": "kafka",
                        "name": "kafka",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/cluster.KafkaDownstream"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/knowledges/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show cluster knowledge",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "knowledge"
                ],
                "summary": "show cluster knowledge",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/knowledge.ClusterTypeSpec"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/param-groups/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "query parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "example": "8C16G",
                        "name": "clusterSpec",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "v5.0",
                        "name": "clusterVersion",
                        "in": "query"
                    },
                    {
                        "enum": [
                            0,
                            1,
                            2
                        ],
                        "type": "integer",
                        "example": 0,
                        "name": "dbType",
                        "in": "query"
                    },
                    {
                        "enum": [
                            0,
                            1,
                            2
                        ],
                        "type": "integer",
                        "example": 0,
                        "name": "hasDefault",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "example": false,
                        "name": "hasDetail",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "example": "default",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/message.QueryParameterGroupResp"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "create a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "create a parameter group",
                "parameters": [
                    {
                        "description": "create request",
                        "name": "createReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateParameterGroupReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/param-groups/{paramGroupId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show details of a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "show details of a parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "description": "parameter group id",
                        "name": "paramGroupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "paramName",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DetailParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "update a parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "description": "parameter group id",
                        "name": "paramGroupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "update parameter group request",
                        "name": "updateReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateParameterGroupReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "delete a parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "description": "parameter group id",
                        "name": "paramGroupId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/param-groups/{paramGroupId}/apply": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "apply a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "apply a parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "description": "parameter group id",
                        "name": "paramGroupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "apply parameter group request",
                        "name": "applyReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.ApplyParameterGroupReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.ApplyParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/param-groups/{paramGroupId}/copy": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "copy a parameter group",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "parameter group"
                ],
                "summary": "copy a parameter group",
                "parameters": [
                    {
                        "type": "string",
                        "description": "parameter group id",
                        "name": "paramGroupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "copy parameter group request",
                        "name": "copyReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CopyParameterGroupReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CopyParameterGroupResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/products/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "queries all products' information",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "queries all products' information",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "internalProduct",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "vendorId",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryProductsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "created product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "created product",
                "parameters": [
                    {
                        "description": "create product request parameter",
                        "name": "CreateProductReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateProductResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete product",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "delete product",
                "parameters": [
                    {
                        "description": "create product request parameter",
                        "name": "CreateProductReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteProductReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteProductResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/products/detail": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query all product detail",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "query all product detail",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "internalProduct",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "productId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "regionId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "vendorId",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryProductDetailResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/permission/add": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "AddPermissionsForRole",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac AddPermissionsForRole"
                ],
                "summary": "add permissions for role",
                "parameters": [
                    {
                        "description": "AddPermissionsForRole request",
                        "name": "addPermissionsForRoleReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.AddPermissionsForRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.AddPermissionsForRoleResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/permission/check": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "CheckPermissionForUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac CheckPermissionForUser"
                ],
                "summary": "check permissions of user",
                "parameters": [
                    {
                        "description": "CheckPermissionForUser request",
                        "name": "checkPermissionForUserReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CheckPermissionForUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CheckPermissionForUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/permission/delete": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "DeletePermissionsForRole",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac DeletePermissionsForRole"
                ],
                "summary": "delete permissions for role",
                "parameters": [
                    {
                        "description": "DeleteRoleForUser request",
                        "name": "deletePermissionsForRoleReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeletePermissionsForRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeletePermissionsForRoleResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/permission/{userId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "QueryPermissionsForUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac QueryPermissionsForUser"
                ],
                "summary": "query permissions of user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "rbac userId",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryPermissionsForUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/role/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "QueryRoles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac QueryRoles"
                ],
                "summary": "query rbac roles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "rbac role",
                        "name": "role",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryRolesResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "CreateRbacRole",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac CreateRbacRole"
                ],
                "summary": "create rbac role",
                "parameters": [
                    {
                        "description": "CreateRole request",
                        "name": "createReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateRoleResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/role/bind": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "BindRolesForUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac BindRolesForUser"
                ],
                "summary": "bind user with roles",
                "parameters": [
                    {
                        "description": "BindRolesForUser request",
                        "name": "bindReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.BindRolesForUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.BindRolesForUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/role/{role}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "DeleteRbacRole",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac DeleteRbacRole"
                ],
                "summary": "delete rbac role",
                "parameters": [
                    {
                        "type": "string",
                        "description": "rbac role",
                        "name": "role",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteRoleResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/rbac/user_role/delete": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "UnbindRoleForUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rbac UnbindRoleForUser"
                ],
                "summary": "unbind rbac role from user",
                "parameters": [
                    {
                        "description": "UnbindRoleForUser request",
                        "name": "deleteRoleForUserReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UnbindRoleForUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UnbindRoleForUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/resources/hierarchy": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get resource hierarchy-tree",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Show the resources hierarchy",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "Depth",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "[1:Region, 2:Zone, 3:Rack, 4:Host]",
                        "name": "Level",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "arch",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "hostId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "loadStat",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "purpose",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.GetHierarchyResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/resources/host-reserved": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update host reserved by a list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Update host reserved",
                "parameters": [
                    {
                        "description": "do update in host list",
                        "name": "updateReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateHostReservedReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateHostReservedResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/resources/host-status": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update host status by a list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Update host status",
                "parameters": [
                    {
                        "description": "do update in host list",
                        "name": "updateReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateHostStatusReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateHostStatusResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/resources/hosts": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get hosts list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Show all hosts list in TiEM",
                "parameters": [
                    {
                        "type": "string",
                        "name": "arch",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "hostId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "hostIp",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "loadStat",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "purpose",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "rack",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "zone",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryHostsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "import hosts by xlsx file",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Import a batch of hosts to TiEM",
                "parameters": [
                    {
                        "type": "string",
                        "default": "false",
                        "description": "whether hosts are reserved(won't be allocated) after import",
                        "name": "hostReserved",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "default": "false",
                        "description": "whether to skip host init steps",
                        "name": "skipHostInit",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "default": "false",
                        "description": "whether to ignore warings in init steps",
                        "name": "ignorewarns",
                        "in": "formData"
                    },
                    {
                        "type": "file",
                        "description": "hosts information in a xlsx file",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.ImportHostsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "remove hosts by a list",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Remove a batch of hosts",
                "parameters": [
                    {
                        "description": "list of host IDs",
                        "name": "hostIds",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteHostsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteHostsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/resources/hosts-template": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get host template xlsx file",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Download the host information template file for importing",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "file"
                        }
                    }
                }
            }
        },
        "/resources/stocks": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get resource stocks in specified conditions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resource"
                ],
                "summary": "Show the resources stocks",
                "parameters": [
                    {
                        "type": "string",
                        "name": "arch",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "capacity",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "diskStatus",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "diskType",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "hostId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "hostIp",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "loadStat",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "purpose",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "rack",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "region",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "zone",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.GetStocksResp"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/specs/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "queries all specs information",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "queries all specs information",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QuerySpecsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "created specs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "created  specs",
                "parameters": [
                    {
                        "description": "create specs request parameter",
                        "name": "CreateSpecsReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateSpecsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateSpecsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "deleted specs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "deleted  specs",
                "parameters": [
                    {
                        "description": "delete specs request parameter",
                        "name": "DeleteSpecsReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteSpecsReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteSpecsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/tenant": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query all tenant profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "queries all tenant profile",
                "parameters": [
                    {
                        "description": "query tenant profile request parameter",
                        "name": "QueryTenantReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.QueryTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryTenantResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update tenant onboarding status",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "update tenant onboarding status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenantId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "query tenant profile request parameter",
                        "name": "UpdateTenantOnBoardingStatusReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateTenantOnBoardingStatusReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateTenantOnBoardingStatusResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/tenant/{tenantId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get tenant profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "get tenant profile",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenantId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "get tenant profile request parameter",
                        "name": "GetTenantReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.GetTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.GetTenantResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/tenants/": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "created tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "created  tenant",
                "parameters": [
                    {
                        "description": "create tenant request parameter",
                        "name": "CreateTenantReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateTenantResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/tenants/{tenantId}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "delete tenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenantId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "delete tenant request parameter",
                        "name": "DeleteTenantReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteTenantResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/tenants/{tenantId}/update_profile": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update tenant profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "user"
                ],
                "summary": "update tenant profile",
                "parameters": [
                    {
                        "type": "string",
                        "description": "tenant id",
                        "name": "tenantId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "query tenant profile request parameter",
                        "name": "UpdateTenantProfileReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateTenantProfileReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateTenantProfileResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/user/login": {
            "post": {
                "description": "login",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "login",
                "parameters": [
                    {
                        "description": "login info",
                        "name": "loginInfo",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.LoginReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.LoginResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/user/logout": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "logout",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "logout",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.LogoutResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/users/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query all user profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "queries all user profile",
                "parameters": [
                    {
                        "description": "query user profile request parameter",
                        "name": "queryUserRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.QueryUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "created user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "created  user",
                "parameters": [
                    {
                        "description": "create user request parameter",
                        "name": "createUserReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/users/{userId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "get user profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "get user profile",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user id",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.GetUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "delete user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "delete user",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user id",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "delete user request parameter",
                        "name": "deleteUserReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteUserResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/users/{userId}/password": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update user password",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "update user password",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user id",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "query user password request parameter",
                        "name": "UpdateUserPasswordRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateUserPasswordReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateUserPasswordResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/users/{userId}/update_profile": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "update user profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "update user profile",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user id",
                        "name": "userId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "query user profile request parameter",
                        "name": "updateUserProfileRequest",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.UpdateUserProfileReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.UpdateUserProfileResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/workflow/": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "query flow works",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "task"
                ],
                "summary": "query flow works",
                "parameters": [
                    {
                        "type": "string",
                        "name": "bizId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "bizType",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "flowName",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Current page location",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of this request",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.ResultWithPage"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryWorkFlowsResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/workflow/{workFlowId}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "show details of a flow work",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "task"
                ],
                "summary": "show details of a flow work",
                "parameters": [
                    {
                        "type": "string",
                        "description": "flow work id",
                        "name": "workFlowId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryWorkFlowDetailResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/zones/": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "created  zones",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "created  zones",
                "parameters": [
                    {
                        "description": "create zones request parameter",
                        "name": "CreateZoneReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.CreateZonesReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.CreateZonesResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "deleted zones",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "deleted zones",
                "parameters": [
                    {
                        "description": "delete zone request parameter",
                        "name": "CreateZoneReq",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/message.DeleteZoneReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.DeleteZoneResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        },
        "/zones/tree": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "queries all regions information",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "platform"
                ],
                "summary": "queries all regions information",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.CommonResult"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/message.QueryZonesTreeResp"
                                        }
                                    }
                                }
                            ]
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/controller.CommonResult"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "cluster.BackupClusterDataReq": {
            "type": "object",
            "properties": {
                "backupMode": {
                    "description": "auto,manual",
                    "type": "string"
                },
                "backupType": {
                    "description": "full,incr",
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                }
            }
        },
        "cluster.BackupClusterDataResp": {
            "type": "object",
            "properties": {
                "backupId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.CloneClusterReq": {
            "type": "object",
            "required": [
                "cloneStrategy",
                "clusterName",
                "clusterType",
                "clusterVersion",
                "cpuArchitecture",
                "dbPassword",
                "region",
                "sourceClusterId"
            ],
            "properties": {
                "cloneStrategy": {
                    "description": "specify clone strategy, include empty, snapshot and sync, default empty(option)",
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "clusterType": {
                    "type": "string"
                },
                "clusterVersion": {
                    "type": "string"
                },
                "copies": {
                    "description": "The number of copies of the newly created cluster data, consistent with the number of copies set in PD",
                    "type": "integer"
                },
                "cpuArchitecture": {
                    "description": "X86/X86_64/ARM",
                    "type": "string"
                },
                "dbPassword": {
                    "type": "string"
                },
                "dbUser": {
                    "description": "The username and password for the newly created database cluster, default is the root user, which is not valid for Data Migration clusters",
                    "type": "string"
                },
                "exclusive": {
                    "description": "Whether the newly created cluster is exclusive to physical resources, when exclusive, a host will only deploy instances of the same cluster, which may result in poor resource utilization",
                    "type": "boolean"
                },
                "parameterGroupID": {
                    "type": "string"
                },
                "region": {
                    "description": "The Region where the cluster is located",
                    "type": "string"
                },
                "sourceClusterId": {
                    "description": "specify source cluster id(require)",
                    "type": "string"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tls": {
                    "type": "boolean"
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "cluster.CloneClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.CreateChangeFeedTaskReq": {
            "type": "object",
            "required": [
                "clusterId",
                "downstreamType",
                "name"
            ],
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "downstream": {
                    "type": "object"
                },
                "downstreamType": {
                    "type": "string",
                    "enum": [
                        "tidb",
                        "kafka",
                        "mysql"
                    ],
                    "example": "tidb"
                },
                "name": {
                    "type": "string",
                    "example": "my_sync_name"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*.*"
                    ]
                },
                "startTS": {
                    "type": "string",
                    "example": "415241823337054209"
                }
            }
        },
        "cluster.CreateChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "TASK_ID_IN_TIEM____22"
                }
            }
        },
        "cluster.CreateClusterReq": {
            "type": "object",
            "required": [
                "clusterName",
                "clusterType",
                "clusterVersion",
                "cpuArchitecture",
                "dbPassword",
                "region"
            ],
            "properties": {
                "clusterName": {
                    "type": "string"
                },
                "clusterType": {
                    "type": "string"
                },
                "clusterVersion": {
                    "type": "string"
                },
                "copies": {
                    "description": "The number of copies of the newly created cluster data, consistent with the number of copies set in PD",
                    "type": "integer"
                },
                "cpuArchitecture": {
                    "description": "X86/X86_64/ARM",
                    "type": "string"
                },
                "dbPassword": {
                    "type": "string"
                },
                "dbUser": {
                    "description": "The username and password for the newly created database cluster, default is the root user, which is not valid for Data Migration clusters",
                    "type": "string"
                },
                "exclusive": {
                    "description": "Whether the newly created cluster is exclusive to physical resources, when exclusive, a host will only deploy instances of the same cluster, which may result in poor resource utilization",
                    "type": "boolean"
                },
                "parameterGroupID": {
                    "type": "string"
                },
                "region": {
                    "description": "The Region where the cluster is located",
                    "type": "string"
                },
                "resourceParameters": {
                    "$ref": "#/definitions/structs.ClusterResourceInfo"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tls": {
                    "type": "boolean"
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "cluster.CreateClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.DeleteBackupDataReq": {
            "type": "object",
            "properties": {
                "backupMode": {
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                }
            }
        },
        "cluster.DeleteBackupDataResp": {
            "type": "object"
        },
        "cluster.DeleteChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "TASK_ID_IN_TIEM____22"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                }
            }
        },
        "cluster.DeleteClusterReq": {
            "type": "object",
            "properties": {
                "autoBackup": {
                    "type": "boolean"
                },
                "force": {
                    "type": "boolean"
                },
                "keepHistoryBackupRecords": {
                    "type": "boolean"
                }
            }
        },
        "cluster.DeleteClusterResp": {
            "type": "object",
            "properties": {
                "clusterID": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.DetailChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "createTime": {
                    "type": "string"
                },
                "downstream": {
                    "type": "object"
                },
                "downstreamFetchTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "downstreamFetchUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "downstreamSyncTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "downstreamSyncUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "downstreamType": {
                    "type": "string",
                    "enum": [
                        "tidb",
                        "kafka",
                        "mysql"
                    ],
                    "example": "tidb"
                },
                "id": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "name": {
                    "type": "string",
                    "example": "my_sync_name"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*.*"
                    ]
                },
                "startTS": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "startUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                },
                "unsteady": {
                    "type": "boolean",
                    "example": false
                },
                "updateTime": {
                    "type": "string"
                },
                "upstreamUpdateTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "upstreamUpdateUnix": {
                    "type": "integer",
                    "example": 1642402879000
                }
            }
        },
        "cluster.Dispatcher": {
            "type": "object",
            "properties": {
                "dispatcher": {
                    "type": "string",
                    "example": "ts"
                },
                "matcher": {
                    "type": "string",
                    "example": "test1.*"
                }
            }
        },
        "cluster.GetBackupStrategyResp": {
            "type": "object",
            "properties": {
                "strategy": {
                    "$ref": "#/definitions/structs.BackupStrategy"
                }
            }
        },
        "cluster.GetDashboardInfoResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "abc"
                },
                "token": {
                    "type": "string"
                },
                "url": {
                    "type": "string",
                    "example": "http://127.0.0.1:9093"
                }
            }
        },
        "cluster.InspectClusterParametersResp": {
            "type": "object",
            "properties": {
                "inspectValue": {
                    "type": "string",
                    "example": "1"
                },
                "instance": {
                    "type": "string",
                    "example": "172.16.5.23"
                },
                "instanceType": {
                    "type": "string",
                    "example": "tidb"
                },
                "name": {
                    "type": "string",
                    "example": "binlog_cache"
                },
                "paramId": {
                    "type": "integer",
                    "example": 1
                },
                "realValue": {
                    "$ref": "#/definitions/structs.ParameterRealValue"
                }
            }
        },
        "cluster.KafkaDownstream": {
            "type": "object",
            "properties": {
                "clientId": {
                    "type": "string",
                    "example": "213"
                },
                "dispatchers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster.Dispatcher"
                    }
                },
                "ip": {
                    "type": "string",
                    "example": "127.0.0.1"
                },
                "maxBatchSize": {
                    "type": "integer",
                    "example": 5
                },
                "maxMessageBytes": {
                    "type": "integer",
                    "example": 16
                },
                "partitions": {
                    "type": "integer",
                    "example": 1
                },
                "port": {
                    "type": "integer",
                    "example": 9001
                },
                "protocol": {
                    "type": "string",
                    "enum": [
                        "default",
                        "canal",
                        "avro",
                        "maxwell"
                    ],
                    "example": "default"
                },
                "replicationFactor": {
                    "type": "integer",
                    "example": 1
                },
                "tls": {
                    "type": "boolean",
                    "example": false
                },
                "topicName": {
                    "type": "string",
                    "example": "my_topic"
                },
                "version": {
                    "type": "string",
                    "example": "2.4.0"
                }
            }
        },
        "cluster.MysqlDownstream": {
            "type": "object",
            "properties": {
                "concurrentThreads": {
                    "type": "integer",
                    "example": 7
                },
                "ip": {
                    "type": "string",
                    "example": "127.0.0.1"
                },
                "maxTxnRow": {
                    "type": "integer",
                    "example": 5
                },
                "password": {
                    "type": "string",
                    "example": "my_password"
                },
                "port": {
                    "type": "integer",
                    "example": 8001
                },
                "tls": {
                    "type": "boolean",
                    "example": false
                },
                "username": {
                    "type": "string",
                    "example": "root"
                },
                "workerCount": {
                    "type": "integer",
                    "example": 2
                }
            }
        },
        "cluster.PauseChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                }
            }
        },
        "cluster.PreviewClusterResp": {
            "type": "object",
            "properties": {
                "capabilityIndexes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.Index"
                    }
                },
                "clusterName": {
                    "type": "string"
                },
                "clusterType": {
                    "type": "string"
                },
                "clusterVersion": {
                    "type": "string"
                },
                "cpuArchitecture": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "stockCheckResult": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ResourceStockCheckResult"
                    }
                }
            }
        },
        "cluster.QueryBackupRecordsResp": {
            "type": "object",
            "properties": {
                "backupRecords": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.BackupRecord"
                    }
                }
            }
        },
        "cluster.QueryChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "createTime": {
                    "type": "string"
                },
                "downstream": {
                    "type": "object"
                },
                "downstreamFetchTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "downstreamFetchUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "downstreamSyncTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "downstreamSyncUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "downstreamType": {
                    "type": "string",
                    "enum": [
                        "tidb",
                        "kafka",
                        "mysql"
                    ],
                    "example": "tidb"
                },
                "id": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "name": {
                    "type": "string",
                    "example": "my_sync_name"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*.*"
                    ]
                },
                "startTS": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "startUnix": {
                    "type": "integer",
                    "example": 1642402879000
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                },
                "unsteady": {
                    "type": "boolean",
                    "example": false
                },
                "updateTime": {
                    "type": "string"
                },
                "upstreamUpdateTs": {
                    "type": "string",
                    "example": "415241823337054209"
                },
                "upstreamUpdateUnix": {
                    "type": "integer",
                    "example": 1642402879000
                }
            }
        },
        "cluster.QueryClusterDetailResp": {
            "type": "object",
            "properties": {
                "info": {
                    "$ref": "#/definitions/structs.ClusterInfo"
                },
                "instanceResource": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterResourceParameterCompute"
                    }
                },
                "topology": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterInstanceInfo"
                    }
                }
            }
        },
        "cluster.QueryClusterLogResp": {
            "type": "object",
            "properties": {
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterLogItem"
                    }
                },
                "took": {
                    "type": "integer",
                    "example": 10
                }
            }
        },
        "cluster.QueryClusterParametersResp": {
            "type": "object",
            "properties": {
                "paramGroupId": {
                    "type": "string"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterParameterInfo"
                    }
                }
            }
        },
        "cluster.QueryClusterResp": {
            "type": "object",
            "properties": {
                "clusters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterInfo"
                    }
                }
            }
        },
        "cluster.QueryMonitorInfoResp": {
            "type": "object",
            "properties": {
                "alertUrl": {
                    "type": "string",
                    "example": "http://127.0.0.1:9093"
                },
                "clusterId": {
                    "type": "string",
                    "example": "abc"
                },
                "grafanaUrl": {
                    "type": "string",
                    "example": "http://127.0.0.1:3000"
                }
            }
        },
        "cluster.RestartClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.RestoreNewClusterReq": {
            "type": "object",
            "required": [
                "backupId",
                "clusterName",
                "clusterType",
                "clusterVersion",
                "cpuArchitecture",
                "dbPassword",
                "region"
            ],
            "properties": {
                "backupId": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "clusterType": {
                    "type": "string"
                },
                "clusterVersion": {
                    "type": "string"
                },
                "copies": {
                    "description": "The number of copies of the newly created cluster data, consistent with the number of copies set in PD",
                    "type": "integer"
                },
                "cpuArchitecture": {
                    "description": "X86/X86_64/ARM",
                    "type": "string"
                },
                "dbPassword": {
                    "type": "string"
                },
                "dbUser": {
                    "description": "The username and password for the newly created database cluster, default is the root user, which is not valid for Data Migration clusters",
                    "type": "string"
                },
                "exclusive": {
                    "description": "Whether the newly created cluster is exclusive to physical resources, when exclusive, a host will only deploy instances of the same cluster, which may result in poor resource utilization",
                    "type": "boolean"
                },
                "parameterGroupID": {
                    "type": "string"
                },
                "region": {
                    "description": "The Region where the cluster is located",
                    "type": "string"
                },
                "resourceParameters": {
                    "$ref": "#/definitions/structs.ClusterResourceInfo"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tls": {
                    "type": "boolean"
                },
                "vendor": {
                    "type": "string"
                }
            }
        },
        "cluster.RestoreNewClusterResp": {
            "type": "object",
            "properties": {
                "clusterID": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.ResumeChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                }
            }
        },
        "cluster.SaveBackupStrategyReq": {
            "type": "object",
            "properties": {
                "strategy": {
                    "$ref": "#/definitions/structs.BackupStrategy"
                }
            }
        },
        "cluster.SaveBackupStrategyResp": {
            "type": "object"
        },
        "cluster.ScaleInClusterReq": {
            "type": "object",
            "properties": {
                "instanceId": {
                    "type": "string"
                }
            }
        },
        "cluster.ScaleInClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.ScaleOutClusterReq": {
            "type": "object",
            "properties": {
                "instanceResource": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterResourceParameterCompute"
                    }
                }
            }
        },
        "cluster.ScaleOutClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.StopClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.TakeoverClusterReq": {
            "type": "object",
            "required": [
                "TiUPIp",
                "TiUPPath",
                "TiUPPort",
                "TiUPUserName",
                "TiUPUserPassword",
                "clusterName",
                "dbPassword",
                "dbUser"
            ],
            "properties": {
                "TiUPIp": {
                    "type": "string",
                    "example": "172.16.4.147"
                },
                "TiUPPath": {
                    "type": "string",
                    "example": ".tiup/"
                },
                "TiUPPort": {
                    "type": "integer",
                    "example": 22
                },
                "TiUPUserName": {
                    "type": "string",
                    "example": "root"
                },
                "TiUPUserPassword": {
                    "type": "string",
                    "example": "password"
                },
                "clusterName": {
                    "type": "string",
                    "example": "myClusterName"
                },
                "dbPassword": {
                    "type": "string",
                    "example": "myPassword"
                },
                "dbUser": {
                    "type": "string",
                    "example": "root"
                }
            }
        },
        "cluster.TakeoverClusterResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "cluster.TiDBDownstream": {
            "type": "object",
            "properties": {
                "concurrentThreads": {
                    "type": "integer",
                    "example": 5
                },
                "ip": {
                    "type": "string",
                    "example": "127.0.0.1"
                },
                "maxTxnRow": {
                    "type": "integer",
                    "example": 4
                },
                "password": {
                    "type": "string",
                    "example": "my_password"
                },
                "port": {
                    "type": "integer",
                    "example": 4534
                },
                "targetClusterId": {
                    "type": "string",
                    "example": "CLUSTER_ID_IN_TIEM__22"
                },
                "tls": {
                    "type": "boolean",
                    "example": false
                },
                "username": {
                    "type": "string",
                    "example": "tidb"
                },
                "workerCount": {
                    "type": "integer",
                    "example": 2
                }
            }
        },
        "cluster.UpdateChangeFeedTaskReq": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "downstream": {
                    "type": "object"
                },
                "downstreamType": {
                    "type": "string",
                    "enum": [
                        "tidb",
                        "kafka",
                        "mysql"
                    ],
                    "example": "tidb"
                },
                "name": {
                    "type": "string",
                    "example": "my_sync_name"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "*.*"
                    ]
                }
            }
        },
        "cluster.UpdateChangeFeedTaskResp": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "enum": [
                        "Initial",
                        "Normal",
                        "Stopped",
                        "Finished",
                        "Error",
                        "Failed"
                    ],
                    "example": "Normal"
                }
            }
        },
        "cluster.UpdateClusterParametersReq": {
            "type": "object",
            "required": [
                "params"
            ],
            "properties": {
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterParameterSampleInfo"
                    }
                },
                "reboot": {
                    "type": "boolean"
                }
            }
        },
        "cluster.UpdateClusterParametersResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "1"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "controller.CommonResult": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "object"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "controller.Page": {
            "type": "object",
            "properties": {
                "page": {
                    "type": "integer"
                },
                "pageSize": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "controller.ResultWithPage": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer"
                },
                "data": {
                    "type": "object"
                },
                "message": {
                    "type": "string"
                },
                "page": {
                    "$ref": "#/definitions/controller.Page"
                }
            }
        },
        "knowledge.ClusterComponent": {
            "type": "object",
            "properties": {
                "componentName": {
                    "type": "string"
                },
                "componentPurpose": {
                    "type": "string"
                },
                "componentType": {
                    "type": "string"
                }
            }
        },
        "knowledge.ClusterComponentSpec": {
            "type": "object",
            "properties": {
                "clusterComponent": {
                    "$ref": "#/definitions/knowledge.ClusterComponent"
                },
                "componentConstraint": {
                    "$ref": "#/definitions/knowledge.ComponentConstraint"
                },
                "componentPortConstraint": {
                    "$ref": "#/definitions/knowledge.ComponentPortConstraint"
                }
            }
        },
        "knowledge.ClusterType": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "knowledge.ClusterTypeSpec": {
            "type": "object",
            "properties": {
                "clusterType": {
                    "$ref": "#/definitions/knowledge.ClusterType"
                },
                "versionSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/knowledge.ClusterVersionSpec"
                    }
                }
            }
        },
        "knowledge.ClusterVersion": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "knowledge.ClusterVersionSpec": {
            "type": "object",
            "properties": {
                "archTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "clusterPortConstraint": {
                    "$ref": "#/definitions/knowledge.ComponentPortConstraint"
                },
                "clusterVersion": {
                    "$ref": "#/definitions/knowledge.ClusterVersion"
                },
                "componentSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/knowledge.ClusterComponentSpec"
                    }
                }
            }
        },
        "knowledge.ComponentConstraint": {
            "type": "object",
            "properties": {
                "availableSpecCodes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "componentRequired": {
                    "type": "boolean"
                },
                "minZoneQuantity": {
                    "type": "integer"
                },
                "parasite": {
                    "type": "boolean"
                },
                "suggestedNodeQuantities": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "knowledge.ComponentPortConstraint": {
            "type": "object",
            "properties": {
                "portCount": {
                    "type": "integer"
                },
                "portRangeEnd": {
                    "type": "integer"
                },
                "portRangeStart": {
                    "type": "integer"
                }
            }
        },
        "message.AddPermissionsForRoleReq": {
            "type": "object",
            "properties": {
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.RbacPermission"
                    }
                },
                "role": {
                    "type": "string"
                }
            }
        },
        "message.AddPermissionsForRoleResp": {
            "type": "object"
        },
        "message.ApplyParameterGroupReq": {
            "type": "object",
            "required": [
                "clusterId"
            ],
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "123"
                },
                "reboot": {
                    "type": "boolean"
                }
            }
        },
        "message.ApplyParameterGroupResp": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "123"
                },
                "paramGroupId": {
                    "type": "string",
                    "example": "123"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "message.BindRolesForUserReq": {
            "type": "object",
            "properties": {
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.BindRolesForUserResp": {
            "type": "object"
        },
        "message.CheckPermissionForUserReq": {
            "type": "object",
            "properties": {
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.RbacPermission"
                    }
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.CheckPermissionForUserResp": {
            "type": "object",
            "properties": {
                "result": {
                    "type": "boolean"
                }
            }
        },
        "message.CopyParameterGroupReq": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "8C16GV4_copy"
                },
                "note": {
                    "type": "string",
                    "example": "copy param group"
                }
            }
        },
        "message.CopyParameterGroupResp": {
            "type": "object",
            "properties": {
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                }
            }
        },
        "message.CreateParameterGroupReq": {
            "type": "object",
            "required": [
                "params"
            ],
            "properties": {
                "addParams": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/message.ParameterInfo"
                    }
                },
                "clusterSpec": {
                    "type": "string",
                    "example": "8C16G"
                },
                "clusterVersion": {
                    "type": "string",
                    "example": "v5.0"
                },
                "dbType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "groupType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "8C16GV4_default"
                },
                "note": {
                    "type": "string",
                    "example": "default param group"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ParameterGroupParameterSampleInfo"
                    }
                }
            }
        },
        "message.CreateParameterGroupResp": {
            "type": "object",
            "properties": {
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                }
            }
        },
        "message.CreateProductReq": {
            "type": "object",
            "properties": {
                "components": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ProductComponentProperty"
                    }
                },
                "productInfo": {
                    "$ref": "#/definitions/structs.Product"
                }
            }
        },
        "message.CreateProductResp": {
            "type": "object"
        },
        "message.CreateRoleReq": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                }
            }
        },
        "message.CreateRoleResp": {
            "type": "object"
        },
        "message.CreateSpecsReq": {
            "type": "object",
            "properties": {
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.SpecInfo"
                    }
                }
            }
        },
        "message.CreateSpecsResp": {
            "type": "object"
        },
        "message.CreateTenantReq": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "maxCluster": {
                    "type": "integer"
                },
                "maxCpu": {
                    "type": "integer"
                },
                "maxMemory": {
                    "type": "integer"
                },
                "maxStorage": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "onBoardingStatus": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "message.CreateTenantResp": {
            "type": "object"
        },
        "message.CreateUserReq": {
            "type": "object",
            "required": [
                "email",
                "name",
                "password"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "tenantId": {
                    "type": "string"
                }
            }
        },
        "message.CreateUserResp": {
            "type": "object"
        },
        "message.CreateZonesReq": {
            "type": "object",
            "properties": {
                "zones": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ZoneInfo"
                    }
                }
            }
        },
        "message.CreateZonesResp": {
            "type": "object"
        },
        "message.DataExportReq": {
            "type": "object",
            "properties": {
                "accessKey": {
                    "type": "string"
                },
                "bucketUrl": {
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                },
                "endpointUrl": {
                    "type": "string"
                },
                "fileType": {
                    "type": "string"
                },
                "filter": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "secretAccessKey": {
                    "type": "string"
                },
                "sql": {
                    "type": "string"
                },
                "storageType": {
                    "type": "string"
                },
                "userName": {
                    "type": "string"
                },
                "zipName": {
                    "type": "string"
                }
            }
        },
        "message.DataExportResp": {
            "type": "object",
            "properties": {
                "recordId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "message.DataImportReq": {
            "type": "object",
            "properties": {
                "accessKey": {
                    "type": "string"
                },
                "bucketUrl": {
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                },
                "endpointUrl": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "recordId": {
                    "type": "string"
                },
                "secretAccessKey": {
                    "type": "string"
                },
                "storageType": {
                    "type": "string"
                },
                "userName": {
                    "type": "string"
                }
            }
        },
        "message.DataImportResp": {
            "type": "object",
            "properties": {
                "recordId": {
                    "type": "string"
                },
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "message.DeleteHostsReq": {
            "type": "object",
            "properties": {
                "force": {
                    "type": "boolean"
                },
                "hostIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.DeleteHostsResp": {
            "type": "object",
            "properties": {
                "flowInfo": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.AsyncTaskWorkFlowInfo"
                    }
                }
            }
        },
        "message.DeleteImportExportRecordReq": {
            "type": "object"
        },
        "message.DeleteImportExportRecordResp": {
            "type": "object",
            "properties": {
                "recordId": {
                    "type": "string"
                }
            }
        },
        "message.DeleteParameterGroupResp": {
            "type": "object",
            "properties": {
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                }
            }
        },
        "message.DeletePermissionsForRoleReq": {
            "type": "object",
            "properties": {
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.RbacPermission"
                    }
                },
                "role": {
                    "type": "string"
                }
            }
        },
        "message.DeletePermissionsForRoleResp": {
            "type": "object"
        },
        "message.DeleteProductReq": {
            "type": "object",
            "properties": {
                "productInfo": {
                    "$ref": "#/definitions/structs.Product"
                }
            }
        },
        "message.DeleteProductResp": {
            "type": "object"
        },
        "message.DeleteRoleResp": {
            "type": "object"
        },
        "message.DeleteSpecsReq": {
            "type": "object",
            "properties": {
                "specIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.DeleteSpecsResp": {
            "type": "object"
        },
        "message.DeleteTenantReq": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "message.DeleteTenantResp": {
            "type": "object"
        },
        "message.DeleteUserReq": {
            "type": "object"
        },
        "message.DeleteUserResp": {
            "type": "object"
        },
        "message.DeleteZoneReq": {
            "type": "object",
            "properties": {
                "zone": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ZoneInfo"
                    }
                }
            }
        },
        "message.DeleteZoneResp": {
            "type": "object"
        },
        "message.DetailParameterGroupResp": {
            "type": "object",
            "properties": {
                "clusterSpec": {
                    "type": "string",
                    "example": "8C16G"
                },
                "clusterVersion": {
                    "type": "string",
                    "example": "v5.0"
                },
                "createTime": {
                    "type": "integer",
                    "example": 1636698675
                },
                "dbType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "groupType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 0
                },
                "hasDefault": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "default"
                },
                "note": {
                    "type": "string",
                    "example": "default param group"
                },
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ParameterGroupParameterInfo"
                    }
                },
                "updateTime": {
                    "type": "integer",
                    "example": 1636698675
                }
            }
        },
        "message.GetHierarchyResp": {
            "type": "object",
            "properties": {
                "root": {
                    "$ref": "#/definitions/structs.HierarchyTreeNode"
                }
            }
        },
        "message.GetStocksResp": {
            "type": "object",
            "properties": {
                "stocks": {
                    "description": "map[zone] -\u003e stocks",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.Stocks"
                    }
                }
            }
        },
        "message.GetTenantReq": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "message.GetTenantResp": {
            "type": "object",
            "properties": {
                "info": {
                    "$ref": "#/definitions/structs.TenantInfo"
                }
            }
        },
        "message.GetUserResp": {
            "type": "object",
            "properties": {
                "user": {
                    "$ref": "#/definitions/structs.UserInfo"
                }
            }
        },
        "message.ImportHostsResp": {
            "type": "object",
            "properties": {
                "flowInfo": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.AsyncTaskWorkFlowInfo"
                    }
                },
                "hostIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.LoginReq": {
            "type": "object",
            "required": [
                "userName",
                "userPassword"
            ],
            "properties": {
                "userName": {
                    "type": "string"
                },
                "userPassword": {
                    "type": "string"
                }
            }
        },
        "message.LoginResp": {
            "type": "object",
            "properties": {
                "tenantId": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.LogoutResp": {
            "type": "object",
            "properties": {
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.ParameterInfo": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string",
                    "example": "log"
                },
                "defaultValue": {
                    "type": "string",
                    "example": "1024"
                },
                "description": {
                    "type": "string",
                    "example": "binlog size"
                },
                "hasApply": {
                    "type": "integer",
                    "example": 1
                },
                "hasReboot": {
                    "type": "integer",
                    "example": 0
                },
                "instanceType": {
                    "type": "string",
                    "example": "TiDB"
                },
                "name": {
                    "type": "string",
                    "example": "binlog_size"
                },
                "note": {
                    "type": "string"
                },
                "range": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "readOnly": {
                    "type": "integer",
                    "example": 0
                },
                "systemVariable": {
                    "type": "string",
                    "example": "log.binlog_size"
                },
                "type": {
                    "type": "integer",
                    "example": 0
                },
                "unit": {
                    "type": "string",
                    "example": "mb"
                },
                "updateSource": {
                    "type": "integer",
                    "example": 0
                }
            }
        },
        "message.QueryDataImportExportRecordsResp": {
            "type": "object",
            "properties": {
                "transportRecords": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.DataImportExportRecordInfo"
                    }
                }
            }
        },
        "message.QueryHostsResp": {
            "type": "object",
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.HostInfo"
                    }
                }
            }
        },
        "message.QueryParameterGroupResp": {
            "type": "object",
            "properties": {
                "clusterSpec": {
                    "type": "string",
                    "example": "8C16G"
                },
                "clusterVersion": {
                    "type": "string",
                    "example": "v5.0"
                },
                "createTime": {
                    "type": "integer",
                    "example": 1636698675
                },
                "dbType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "groupType": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 0
                },
                "hasDefault": {
                    "type": "integer",
                    "enum": [
                        1,
                        2
                    ],
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "default"
                },
                "note": {
                    "type": "string",
                    "example": "default param group"
                },
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ParameterGroupParameterInfo"
                    }
                },
                "updateTime": {
                    "type": "integer",
                    "example": 1636698675
                }
            }
        },
        "message.QueryPermissionsForUserResp": {
            "type": "object",
            "properties": {
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.RbacPermission"
                    }
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.QueryProductDetailResp": {
            "type": "object",
            "properties": {
                "products": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.ProductDetail"
                    }
                }
            }
        },
        "message.QueryProductsResp": {
            "type": "object",
            "properties": {
                "products": {
                    "description": "arch version",
                    "type": "object",
                    "additionalProperties": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "object",
                                "additionalProperties": {
                                    "$ref": "#/definitions/structs.Product"
                                }
                            }
                        }
                    }
                }
            }
        },
        "message.QueryRolesResp": {
            "type": "object",
            "properties": {
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "message.QuerySpecsResp": {
            "type": "object",
            "properties": {
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.SpecInfo"
                    }
                }
            }
        },
        "message.QueryTenantReq": {
            "type": "object",
            "properties": {
                "page": {
                    "description": "Current page location",
                    "type": "integer"
                },
                "pageSize": {
                    "description": "Number of this request",
                    "type": "integer"
                }
            }
        },
        "message.QueryTenantResp": {
            "type": "object",
            "properties": {
                "tenants": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.TenantInfo"
                    }
                }
            }
        },
        "message.QueryUserReq": {
            "type": "object",
            "properties": {
                "page": {
                    "description": "Current page location",
                    "type": "integer"
                },
                "pageSize": {
                    "description": "Number of this request",
                    "type": "integer"
                }
            }
        },
        "message.QueryUserResp": {
            "type": "object",
            "properties": {
                "users": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.UserInfo"
                    }
                }
            }
        },
        "message.QueryWorkFlowDetailResp": {
            "type": "object",
            "properties": {
                "info": {
                    "$ref": "#/definitions/structs.WorkFlowInfo"
                },
                "nodeNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.WorkFlowNodeInfo"
                    }
                }
            }
        },
        "message.QueryWorkFlowsResp": {
            "type": "object",
            "properties": {
                "workFlows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.WorkFlowInfo"
                    }
                }
            }
        },
        "message.QueryZonesTreeResp": {
            "type": "object",
            "properties": {
                "vendors": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.VendorWithRegion"
                    }
                }
            }
        },
        "message.UnbindRoleForUserReq": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "message.UnbindRoleForUserResp": {
            "type": "object"
        },
        "message.UpdateHostReservedReq": {
            "type": "object",
            "properties": {
                "hostIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "reserved": {
                    "type": "boolean"
                }
            }
        },
        "message.UpdateHostReservedResp": {
            "type": "object"
        },
        "message.UpdateHostStatusReq": {
            "type": "object",
            "properties": {
                "hostIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "message.UpdateHostStatusResp": {
            "type": "object"
        },
        "message.UpdateParameterGroupReq": {
            "type": "object",
            "required": [
                "params"
            ],
            "properties": {
                "addParams": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/message.ParameterInfo"
                    }
                },
                "clusterSpec": {
                    "type": "string",
                    "example": "8C16G"
                },
                "clusterVersion": {
                    "type": "string",
                    "example": "v5.0"
                },
                "delParams": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "1"
                    ]
                },
                "name": {
                    "type": "string",
                    "example": "8C16GV4_default"
                },
                "note": {
                    "type": "string",
                    "example": "default param group"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ParameterGroupParameterSampleInfo"
                    }
                }
            }
        },
        "message.UpdateParameterGroupResp": {
            "type": "object",
            "properties": {
                "paramGroupId": {
                    "type": "string",
                    "example": "1"
                }
            }
        },
        "message.UpdateTenantOnBoardingStatusReq": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "onBoardingStatus": {
                    "type": "string"
                }
            }
        },
        "message.UpdateTenantOnBoardingStatusResp": {
            "type": "object"
        },
        "message.UpdateTenantProfileReq": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "maxCluster": {
                    "type": "integer"
                },
                "maxCpu": {
                    "type": "integer"
                },
                "maxMemory": {
                    "type": "integer"
                },
                "maxStorage": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "message.UpdateTenantProfileResp": {
            "type": "object"
        },
        "message.UpdateUserPasswordReq": {
            "type": "object",
            "required": [
                "password"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "message.UpdateUserPasswordResp": {
            "type": "object"
        },
        "message.UpdateUserProfileReq": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "nickname": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                }
            }
        },
        "message.UpdateUserProfileResp": {
            "type": "object"
        },
        "structs.AsyncTaskWorkFlowInfo": {
            "type": "object",
            "properties": {
                "workFlowId": {
                    "description": "Asynchronous task workflow ID",
                    "type": "string"
                }
            }
        },
        "structs.BackupRecord": {
            "type": "object",
            "properties": {
                "backupMethod": {
                    "type": "string"
                },
                "backupMode": {
                    "type": "string"
                },
                "backupTso": {
                    "type": "string"
                },
                "backupType": {
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                },
                "createTime": {
                    "type": "string"
                },
                "deleteTime": {
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "filePath": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "size": {
                    "type": "number"
                },
                "startTime": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "updateTime": {
                    "type": "string"
                }
            }
        },
        "structs.BackupStrategy": {
            "type": "object",
            "properties": {
                "backupDate": {
                    "type": "string"
                },
                "clusterId": {
                    "type": "string"
                },
                "period": {
                    "type": "string"
                }
            }
        },
        "structs.ClusterInfo": {
            "type": "object",
            "properties": {
                "alertUrl": {
                    "type": "string",
                    "example": "http://127.0.0.1:9093"
                },
                "backupFileUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "clusterId": {
                    "type": "string"
                },
                "clusterName": {
                    "type": "string"
                },
                "clusterType": {
                    "type": "string"
                },
                "clusterVersion": {
                    "type": "string"
                },
                "copies": {
                    "description": "The number of copies of the newly created cluster data, consistent with the number of copies set in PD",
                    "type": "integer"
                },
                "cpuArchitecture": {
                    "description": "X86/X86_64/ARM",
                    "type": "string"
                },
                "cpuUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "createTime": {
                    "type": "string"
                },
                "dbUser": {
                    "description": "The username and password for the newly created database cluster, default is the root user, which is not valid for Data Migration clusters",
                    "type": "string"
                },
                "deleteTime": {
                    "type": "string"
                },
                "exclusive": {
                    "description": "Whether the newly created cluster is exclusive to physical resources, when exclusive, a host will only deploy instances of the same cluster, which may result in poor resource utilization",
                    "type": "boolean"
                },
                "extranetConnectAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "grafanaUrl": {
                    "type": "string",
                    "example": "http://127.0.0.1:3000"
                },
                "intranetConnectAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "maintainStatus": {
                    "type": "string"
                },
                "maintainWindow": {
                    "type": "string"
                },
                "memoryUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "region": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "storageUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tls": {
                    "type": "boolean"
                },
                "updateTime": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                },
                "vendor": {
                    "type": "string"
                },
                "whitelist": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "structs.ClusterInstanceInfo": {
            "type": "object",
            "properties": {
                "addresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "cpuUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "hostID": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "ioUtil": {
                    "type": "number"
                },
                "iops": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    }
                },
                "memoryUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "role": {
                    "type": "string"
                },
                "spec": {
                    "description": "??",
                    "$ref": "#/definitions/structs.ProductSpecInfo"
                },
                "status": {
                    "type": "string"
                },
                "storageUsage": {
                    "$ref": "#/definitions/structs.Usage"
                },
                "type": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                },
                "zone": {
                    "description": "??",
                    "$ref": "#/definitions/structs.ZoneInfo"
                }
            }
        },
        "structs.ClusterInstanceParameterValue": {
            "type": "object",
            "properties": {
                "instanceId": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "structs.ClusterLogItem": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "example": "abc"
                },
                "ext": {
                    "type": "object",
                    "additionalProperties": true
                },
                "id": {
                    "type": "string",
                    "example": "zvadfwf"
                },
                "index": {
                    "type": "string",
                    "example": "tiem-tidb-cluster-2021.09.23"
                },
                "ip": {
                    "type": "string",
                    "example": "127.0.0.1"
                },
                "level": {
                    "type": "string",
                    "example": "warn"
                },
                "message": {
                    "type": "string",
                    "example": "tidb log"
                },
                "module": {
                    "type": "string",
                    "example": "tidb"
                },
                "sourceLine": {
                    "type": "string",
                    "example": "main.go:210"
                },
                "timestamp": {
                    "type": "string",
                    "example": "2021-09-23 14:23:10"
                }
            }
        },
        "structs.ClusterParameterInfo": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string",
                    "example": "basic"
                },
                "createTime": {
                    "type": "integer",
                    "example": 1636698675
                },
                "defaultValue": {
                    "type": "string",
                    "example": "1"
                },
                "description": {
                    "type": "string",
                    "example": "binlog cache size"
                },
                "hasApply": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 1
                },
                "hasReboot": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 0
                },
                "instanceType": {
                    "type": "string",
                    "example": "tidb"
                },
                "name": {
                    "type": "string",
                    "example": "binlog_size"
                },
                "note": {
                    "type": "string",
                    "example": "binlog cache size"
                },
                "paramId": {
                    "type": "string",
                    "example": "1"
                },
                "range": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "1",
                        " 1000"
                    ]
                },
                "readOnly": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 0
                },
                "realValue": {
                    "$ref": "#/definitions/structs.ParameterRealValue"
                },
                "systemVariable": {
                    "type": "string",
                    "example": "log.log_level"
                },
                "type": {
                    "type": "integer",
                    "enum": [
                        0,
                        1,
                        2,
                        3,
                        4
                    ],
                    "example": 0
                },
                "unit": {
                    "type": "string",
                    "example": "mb"
                },
                "updateSource": {
                    "type": "integer",
                    "enum": [
                        0,
                        1,
                        2,
                        3
                    ],
                    "example": 0
                },
                "updateTime": {
                    "type": "integer",
                    "example": 1636698675
                }
            }
        },
        "structs.ClusterParameterSampleInfo": {
            "type": "object",
            "required": [
                "paramId",
                "realValue"
            ],
            "properties": {
                "paramId": {
                    "type": "string",
                    "example": "1"
                },
                "realValue": {
                    "$ref": "#/definitions/structs.ParameterRealValue"
                }
            }
        },
        "structs.ClusterResourceInfo": {
            "type": "object",
            "properties": {
                "instanceResource": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterResourceParameterCompute"
                    }
                }
            }
        },
        "structs.ClusterResourceParameterCompute": {
            "type": "object",
            "properties": {
                "componentType": {
                    "description": "TiDB/TiKV/PD/TiFlash/CDC/DM-Master/DM-Worker",
                    "type": "string"
                },
                "resource": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterResourceParameterComputeResource"
                    }
                },
                "totalNodeCount": {
                    "type": "integer"
                }
            }
        },
        "structs.ClusterResourceParameterComputeResource": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "diskCapacity": {
                    "type": "integer"
                },
                "diskType": {
                    "description": "NVMeSSD/SSD/SATA",
                    "type": "string"
                },
                "specCode": {
                    "description": "4C8G/8C16G ?",
                    "type": "string"
                },
                "zoneCode": {
                    "type": "string"
                }
            }
        },
        "structs.ComponentInstanceResourceSpec": {
            "type": "object",
            "properties": {
                "cpu": {
                    "type": "integer"
                },
                "diskType": {
                    "description": "eg: NVMeSSD/SSD/SATA",
                    "type": "string"
                },
                "id": {
                    "description": "ID of the instance resource specification",
                    "type": "string"
                },
                "memory": {
                    "description": "The amount of memory occupied by the instance, in GiB",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the instance resource specification,eg: TiDB.c1.large",
                    "type": "string"
                },
                "zoneId": {
                    "type": "string"
                },
                "zoneName": {
                    "type": "string"
                }
            }
        },
        "structs.ComponentInstanceZoneWithSpecs": {
            "type": "object",
            "properties": {
                "specs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ComponentInstanceResourceSpec"
                    }
                },
                "zoneId": {
                    "type": "string"
                },
                "zoneName": {
                    "type": "string"
                }
            }
        },
        "structs.DataImportExportRecordInfo": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string"
                },
                "comment": {
                    "type": "string"
                },
                "createTime": {
                    "type": "string"
                },
                "deleteTime": {
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "filePath": {
                    "type": "string"
                },
                "recordId": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "storageType": {
                    "type": "string"
                },
                "transportType": {
                    "type": "string"
                },
                "updateTime": {
                    "type": "string"
                },
                "zipName": {
                    "type": "string"
                }
            }
        },
        "structs.DiskInfo": {
            "type": "object",
            "properties": {
                "capacity": {
                    "description": "Disk size, Unit: GB",
                    "type": "integer"
                },
                "diskId": {
                    "type": "string"
                },
                "hostId": {
                    "type": "string"
                },
                "name": {
                    "description": "[sda/sdb/nvmep0...]",
                    "type": "string"
                },
                "path": {
                    "description": "Disk mount path: [/data1]",
                    "type": "string"
                },
                "status": {
                    "description": "Disk Status, 0 for available, 1 for inused",
                    "type": "string"
                },
                "type": {
                    "description": "Disk type: [nvme-ssd/ssd/sata]",
                    "type": "string"
                }
            }
        },
        "structs.HierarchyTreeNode": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "prefix": {
                    "type": "string"
                },
                "subNodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.HierarchyTreeNode"
                    }
                }
            }
        },
        "structs.HostInfo": {
            "type": "object",
            "properties": {
                "arch": {
                    "description": "x86 or arm64",
                    "type": "string"
                },
                "az": {
                    "type": "string"
                },
                "clusterType": {
                    "description": "What cluster is the host used for? [database/data migration]",
                    "type": "string"
                },
                "cpuCores": {
                    "description": "Host cpu cores spec, init while importing",
                    "type": "integer"
                },
                "createTime": {
                    "type": "integer"
                },
                "diskType": {
                    "description": "Disk type of this host [sata/ssd/nvme_ssd]",
                    "type": "string"
                },
                "disks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.DiskInfo"
                    }
                },
                "freeCpuCores": {
                    "description": "Unused CpuCore, used for allocation",
                    "type": "integer"
                },
                "freeMemory": {
                    "description": "Unused memory size, Unit:GB, used for allocation",
                    "type": "integer"
                },
                "hostId": {
                    "type": "string"
                },
                "hostName": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "kernel": {
                    "type": "string"
                },
                "loadStat": {
                    "description": "Host Resource Stat, 0 for loadless, 1 for inused, 2 for exhaust",
                    "type": "string"
                },
                "memory": {
                    "description": "Host memory, init while importing",
                    "type": "integer"
                },
                "nic": {
                    "description": "Host network type: 1GE or 10GE",
                    "type": "string"
                },
                "os": {
                    "type": "string"
                },
                "passwd": {
                    "type": "string"
                },
                "purpose": {
                    "description": "What Purpose is the host used for? [compute/storage/general]",
                    "type": "string"
                },
                "rack": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "reserved": {
                    "description": "Whether this host is reserved - will not be allocated",
                    "type": "boolean"
                },
                "spec": {
                    "description": "Host Spec, init while importing",
                    "type": "string"
                },
                "status": {
                    "description": "Host Status, 0 for Online, 1 for offline",
                    "type": "string"
                },
                "sysLabels": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "traits": {
                    "description": "Traits of labels",
                    "type": "integer"
                },
                "updateTime": {
                    "type": "integer"
                },
                "userName": {
                    "type": "string"
                }
            }
        },
        "structs.Index": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "value": {
                    "type": "object"
                }
            }
        },
        "structs.ParameterGroupParameterInfo": {
            "type": "object",
            "properties": {
                "category": {
                    "type": "string",
                    "example": "basic"
                },
                "createTime": {
                    "type": "integer",
                    "example": 1636698675
                },
                "defaultValue": {
                    "type": "string",
                    "example": "1"
                },
                "description": {
                    "type": "string",
                    "example": "binlog cache size"
                },
                "hasApply": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 1
                },
                "hasReboot": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 0
                },
                "instanceType": {
                    "type": "string",
                    "example": "tidb"
                },
                "name": {
                    "type": "string",
                    "example": "binlog_size"
                },
                "note": {
                    "type": "string",
                    "example": "binlog cache size"
                },
                "paramId": {
                    "type": "string",
                    "example": "1"
                },
                "range": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "1",
                        " 1000"
                    ]
                },
                "readOnly": {
                    "type": "integer",
                    "enum": [
                        0,
                        1
                    ],
                    "example": 0
                },
                "systemVariable": {
                    "type": "string",
                    "example": "log.log_level"
                },
                "type": {
                    "type": "integer",
                    "enum": [
                        0,
                        1,
                        2,
                        3,
                        4
                    ],
                    "example": 0
                },
                "unit": {
                    "type": "string",
                    "example": "mb"
                },
                "updateSource": {
                    "type": "integer",
                    "enum": [
                        0,
                        1,
                        2,
                        3
                    ],
                    "example": 0
                },
                "updateTime": {
                    "type": "integer",
                    "example": 1636698675
                }
            }
        },
        "structs.ParameterGroupParameterSampleInfo": {
            "type": "object",
            "required": [
                "defaultValue",
                "paramId"
            ],
            "properties": {
                "defaultValue": {
                    "type": "string",
                    "example": "1"
                },
                "note": {
                    "type": "string",
                    "example": "binlog cache size"
                },
                "paramId": {
                    "type": "string",
                    "example": "123"
                }
            }
        },
        "structs.ParameterRealValue": {
            "type": "object",
            "properties": {
                "clusterValue": {
                    "type": "string"
                },
                "instanceValue": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ClusterInstanceParameterValue"
                    }
                }
            }
        },
        "structs.Product": {
            "type": "object",
            "properties": {
                "arch": {
                    "type": "string"
                },
                "id": {
                    "description": "The ID of the product",
                    "type": "string"
                },
                "internal": {
                    "type": "integer"
                },
                "name": {
                    "description": "the Name of the product",
                    "type": "string"
                },
                "regionId": {
                    "type": "string"
                },
                "regionName": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "vendorId": {
                    "description": "the vendor ID of the vendor, e.go AWS",
                    "type": "string"
                },
                "vendorName": {
                    "description": "the Vendor name of the vendor, e.g AWS/Aliyun",
                    "type": "string"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "structs.ProductComponentProperty": {
            "type": "object",
            "properties": {
                "availableZones": {
                    "description": "Information on the specifications of the resources online for the running of product components,organized by different Zone",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/structs.ComponentInstanceZoneWithSpecs"
                    }
                },
                "endPort": {
                    "type": "integer"
                },
                "id": {
                    "description": "ID of the product component, globally unique",
                    "type": "string"
                },
                "maxInstance": {
                    "description": "Maximum number of instances when the product component is running, e.g. PD can run up to 7 instances, other components have no upper limit",
                    "type": "integer"
                },
                "maxPort": {
                    "type": "integer"
                },
                "minInstance": {
                    "description": "Minimum number of instances of product components at runtime, e.g. at least 1 instance of PD, at least 3 instances of TiKV",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the product component, globally unique",
                    "type": "string"
                },
                "purposeType": {
                    "description": "The type of resources required by the product component at runtime, e.g. storage class",
                    "type": "string"
                },
                "startPort": {
                    "type": "integer"
                },
                "suggestedInstancesCount": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "structs.ProductDetail": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "The ID of the product consists of the product ID",
                    "type": "string"
                },
                "name": {
                    "description": "The name of the product consists of the product name and the version",
                    "type": "string"
                },
                "versions": {
                    "description": "Organize product information by version",
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.ProductVersion"
                    }
                }
            }
        },
        "structs.ProductSpecInfo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "structs.ProductVersion": {
            "type": "object",
            "properties": {
                "arch": {
                    "description": "Arch information of the product, e.g. X86/X86_64",
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/structs.ProductComponentProperty"
                        }
                    }
                },
                "version": {
                    "description": "Version information of the product, e.g. v5.0.0",
                    "type": "string"
                }
            }
        },
        "structs.RbacPermission": {
            "type": "object",
            "properties": {
                "action": {
                    "type": "string"
                },
                "resource": {
                    "type": "string"
                }
            }
        },
        "structs.RegionInfo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "structs.ResourceStockCheckResult": {
            "type": "object",
            "properties": {
                "componentName": {
                    "type": "string"
                },
                "componentType": {
                    "type": "string"
                },
                "count": {
                    "type": "integer"
                },
                "diskCapacity": {
                    "type": "integer"
                },
                "diskType": {
                    "description": "NVMeSSD/SSD/SATA",
                    "type": "string"
                },
                "enough": {
                    "type": "boolean"
                },
                "specCode": {
                    "description": "4C8G/8C16G ?",
                    "type": "string"
                },
                "zoneCode": {
                    "type": "string"
                }
            }
        },
        "structs.SpecInfo": {
            "type": "object",
            "properties": {
                "cpu": {
                    "type": "integer"
                },
                "diskType": {
                    "description": "eg: NVMeSSD/SSD/SATA",
                    "type": "string"
                },
                "id": {
                    "description": "ID of the resource specification",
                    "type": "string"
                },
                "memory": {
                    "description": "The amount of memory occupied by the instance, in GiB",
                    "type": "integer"
                },
                "name": {
                    "description": "Name of the resource specification,eg: TiDB.c1.large",
                    "type": "string"
                },
                "purpose_type": {
                    "description": "eg:Compute/Storage/Schedule",
                    "type": "string"
                },
                "status": {
                    "description": "e.g. Online/Offline",
                    "type": "string"
                }
            }
        },
        "structs.Stocks": {
            "type": "object",
            "properties": {
                "freeCpuCores": {
                    "type": "integer"
                },
                "freeDiskCapacity": {
                    "type": "integer"
                },
                "freeDiskCount": {
                    "type": "integer"
                },
                "freeHostCount": {
                    "type": "integer"
                },
                "freeMemory": {
                    "type": "integer"
                },
                "zone": {
                    "type": "string"
                }
            }
        },
        "structs.TenantInfo": {
            "type": "object",
            "properties": {
                "createAt": {
                    "type": "string"
                },
                "creator": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "maxCluster": {
                    "type": "integer"
                },
                "maxCpu": {
                    "type": "integer"
                },
                "maxMemory": {
                    "type": "integer"
                },
                "maxStorage": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "onBoardingStatus": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "updateAt": {
                    "type": "string"
                }
            }
        },
        "structs.Usage": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "number"
                },
                "usageRate": {
                    "type": "number"
                },
                "used": {
                    "type": "number"
                }
            }
        },
        "structs.UserInfo": {
            "type": "object",
            "properties": {
                "createAt": {
                    "type": "string"
                },
                "creator": {
                    "type": "string"
                },
                "defaultTenantId": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "nickname": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenantIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "updateAt": {
                    "type": "string"
                }
            }
        },
        "structs.VendorWithRegion": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "The value of the VendorID is similar to AWS",
                    "type": "string"
                },
                "name": {
                    "description": "The value of the Name is similar to AWS",
                    "type": "string"
                },
                "regions": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/structs.RegionInfo"
                    }
                }
            }
        },
        "structs.WorkFlowInfo": {
            "type": "object",
            "properties": {
                "bizId": {
                    "type": "string"
                },
                "bizType": {
                    "type": "string"
                },
                "createTime": {
                    "type": "string"
                },
                "deleteTime": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Initializing",
                        "Processing",
                        "Finished",
                        "Error",
                        "Canceled"
                    ]
                },
                "updateTime": {
                    "type": "string"
                }
            }
        },
        "structs.WorkFlowNodeInfo": {
            "type": "object",
            "properties": {
                "endTime": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "parameters": {
                    "type": "string"
                },
                "result": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Initializing",
                        "Processing",
                        "Finished",
                        "Error",
                        "Canceled"
                    ]
                }
            }
        },
        "structs.ZoneInfo": {
            "type": "object",
            "properties": {
                "comment": {
                    "type": "string"
                },
                "regionId": {
                    "description": "The value of the RegionID is similar to CN-HANGZHOU",
                    "type": "string"
                },
                "regionName": {
                    "description": "The value of the Name is similar to East China(Hangzhou)",
                    "type": "string"
                },
                "vendorId": {
                    "description": "The value of the VendorID is similar to AWS",
                    "type": "string"
                },
                "vendorName": {
                    "description": "The value of the Name is similar to AWS",
                    "type": "string"
                },
                "zoneId": {
                    "description": "The value of the ZoneID is similar to CN-HANGZHOU-H",
                    "type": "string"
                },
                "zoneName": {
                    "description": "The value of the Name is similar to Hangzhou(H)",
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "ApiKeyAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}</con:content>
      <con:type>https://swagger.io/swagger2/specification</con:type>
    </con:part>
  </con:definitionCache>
  <con:endpoints>
    <con:endpoint>http://172.16.4.134:4100</con:endpoint>
  </con:endpoints>
</con:interface>
